From c34c8ebf1cc628a8f84c2cbbde05623ab5832ee0 Mon Sep 17 00:00:00 2001 From: ikemo Date: Wed, 14 Jan 2004 14:18:22 +0000 Subject: [PATCH] add asciiart pref git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@806 56b19765-1e22-0410-a548-a0f45d66c51a --- ChangeLog | 1 + kita/src/Makefile.am | 2 +- kita/src/asciiartprefbase.ui | 53 +++++++++++++++++++++++++++++++++++++++ kita/src/kita.cpp | 43 ++++++++++++++++++++++++++++++- kita/src/kita.h | 2 ++ kita/src/part/kitaconfig.h | 3 +++ kita/src/part/kitawritedialog.cpp | 32 ++++------------------- kita/src/pref.cpp | 22 ++++++++++++++++ kita/src/pref.h | 19 ++++++++++++++ 9 files changed, 148 insertions(+), 29 deletions(-) create mode 100644 kita/src/asciiartprefbase.ui diff --git a/ChangeLog b/ChangeLog index 2a7c90f..c668f4c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2004-01-14 Hideki Ikemoto * expand mail address. + * add asciiart pref. 2004-01-11 Hideki Ikemoto diff --git a/kita/src/Makefile.am b/kita/src/Makefile.am index 6719c63..2d8ef74 100644 --- a/kita/src/Makefile.am +++ b/kita/src/Makefile.am @@ -18,7 +18,7 @@ kita_la_LIBADD = $(LIB_KFILE) $(LIB_KDEPRINT) ./part/libkitapart.la ./libkita/li kita_LDADD = kita.la # which sources should be compiled for kita -kita_la_SOURCES = main.cpp kita.cpp pref.cpp kitaiface.skel kitasubjectview.h kitasubjectview.cpp kitaboardview.h kitaboardview.cpp threadlistviewbase.ui kitaboardviewbase.ui kitafontprefbase.ui favoritelistview.h favoritelistview.cpp kitathreadtabwidget.h kitathreadtabwidget.cpp kitasubjecttabwidget.h kitasubjecttabwidget.cpp kitacolorprefbase.ui threadlistview.cpp +kita_la_SOURCES = main.cpp kita.cpp pref.cpp kitaiface.skel kitasubjectview.h kitasubjectview.cpp kitaboardview.h kitaboardview.cpp threadlistviewbase.ui kitaboardviewbase.ui kitafontprefbase.ui favoritelistview.h favoritelistview.cpp kitathreadtabwidget.h kitathreadtabwidget.cpp kitasubjecttabwidget.h kitasubjecttabwidget.cpp kitacolorprefbase.ui threadlistview.cpp asciiartprefbase.ui kita_SOURCES = dummy.cpp diff --git a/kita/src/asciiartprefbase.ui b/kita/src/asciiartprefbase.ui new file mode 100644 index 0000000..90974fb --- /dev/null +++ b/kita/src/asciiartprefbase.ui @@ -0,0 +1,53 @@ + +AsciiArtPrefBase + + + AsciiArtPrefBase + + + + 0 + 0 + 600 + 480 + + + + Form1 + + + + asciiArtText + + + + 10 + 10 + 240 + 190 + + + + + + saveButton + + + + 260 + 170 + 76 + 28 + + + + save + + + + + + ktextedit.h + kpushbutton.h + + diff --git a/kita/src/kita.cpp b/kita/src/kita.cpp index dd22712..697cf11 100644 --- a/kita/src/kita.cpp +++ b/kita/src/kita.cpp @@ -68,6 +68,9 @@ KitaMainWindow::KitaMainWindow() // load completion loadCompletion(); + // load ascii art + loadAsciiArt(); + // and a status bar statusBar() ->show(); @@ -135,6 +138,8 @@ KitaMainWindow::KitaMainWindow() KitaMainWindow::~KitaMainWindow() { + saveAsciiArt(); + saveCompletion(); saveFavorites(); @@ -207,7 +212,7 @@ void KitaMainWindow::setupActions() i18n( "URL Line" ), 0, this, - SLOT( slotUrlLine() ) /* dummy */, + SLOT( slotUrlLine() ) /* dummy */, actionCollection(), "url_line_action" ); KStdAction::keyBindings( this, SLOT( optionsConfigureKeys() ), actionCollection() ); @@ -581,6 +586,42 @@ void KitaMainWindow::saveCompletion() config.sync(); } +void KitaMainWindow::loadAsciiArt() +{ + QString configPath = locateLocal( "appdata", "asciiart" ); + QFile file( configPath ); + if ( file.open( IO_ReadOnly ) ) { + QTextStream stream( &file ); + stream.setEncoding( QTextStream::UnicodeUTF8 ); + + QStringList list; + QString str; + + while ( ( str = stream.readLine() ) != QString::null ) { + if ( ! str.isEmpty() ) { + list << str; + } + } + KitaConfig::setAsciiArtList( list ); + } +} + +void KitaMainWindow::saveAsciiArt() +{ + QString configPath = locateLocal( "appdata", "asciiart" ); + QFile file( configPath ); + if ( file.open( IO_WriteOnly ) ) { + QTextStream stream( &file ) ; + stream.setEncoding( QTextStream::UnicodeUTF8 ); + + QStringList list = KitaConfig::asciiArtList(); + QStringList::iterator it; + for ( it = list.begin(); it != list.end(); ++it ) { + stream << ( *it ) << endl; + } + } +} + void KitaMainWindow::slotThread( const Kita::Thread* thread ) { setCaption( thread->name() ); diff --git a/kita/src/kita.h b/kita/src/kita.h index 9679eb0..7a0b5df 100644 --- a/kita/src/kita.h +++ b/kita/src/kita.h @@ -139,6 +139,8 @@ private: void saveFavorites(); void loadCompletion(); void saveCompletion(); + void loadAsciiArt(); + void saveAsciiArt(); }; #endif // _KITA_H_ diff --git a/kita/src/part/kitaconfig.h b/kita/src/part/kitaconfig.h index d8d3908..97886a7 100644 --- a/kita/src/part/kitaconfig.h +++ b/kita/src/part/kitaconfig.h @@ -28,6 +28,7 @@ class KitaConfig{ QFont m_threadFont; QString m_boardListURL; KCompletion m_nameCompletion; + QStringList m_asciiArtList; KitaConfig(); virtual ~KitaConfig(); public: @@ -49,6 +50,8 @@ public: static void setPopupColor( QColor color ) { getInstance()->m_popupColor = color; } static QColor& popupBackgroundColor() { return getInstance()->m_popupBackgroundColor; } static void setPopupBackgroundColor( QColor color ) { getInstance()->m_popupBackgroundColor = color; } + static QStringList& asciiArtList() { return getInstance()->m_asciiArtList; } + static void setAsciiArtList( QStringList list ) { getInstance()->m_asciiArtList = list; } }; #endif diff --git a/kita/src/part/kitawritedialog.cpp b/kita/src/part/kitawritedialog.cpp index b26493f..e1bdb4a 100644 --- a/kita/src/part/kitawritedialog.cpp +++ b/kita/src/part/kitawritedialog.cpp @@ -29,27 +29,6 @@ #include -const char* kaomoji[] = { - "", - "Ž·ŽÀ¨¬¨¬¨¬(Žß¢ÏŽß)¨¬¨¬¨¬!!!!!", - "¡ÊŽß§ÕŽß¡ËŽ³ŽÏŽ°", - "(+§Õ+)ŽÏŽ½ŽÞŽ°", - "((((((¡¨Žß§¥Žß))))))Ž¶ŽÞŽ¸Ž¶ŽÞŽ¸ŽÌŽÞŽÙŽÌŽÞŽÙ", - "(¡­¡¦¦Ø¡¦`)Ž¼Ž®ŽÎŽÞŽ°ŽÝ", - "( ¡­_¡µ`)ŽÌŽ°ŽÝ", - "¡³(`§¥¡­)¥ÎŽ³ŽÜŽ§Ž§Ž§Ž§Ž§Ž§Ž§Ž§Ž§Ž§Ž§Ž§ŽÝ", - "¡ÊŽ¥¢ÏŽ¥¡ËŽ²Ž²!!", - "(;¡­§¥`)ŽÊŽ§ŽÊŽ§", -// "(Žß?Žß)Ž²Ž×ŽÈ", - "(Žß§¥Žß)ŽÊŽ§?", - "Ž¡Ž¥ŽßŽ¥(ŽÉ§¥`)Ž¥ŽßŽ¥Ž¡Ž³Ž´Ž´ŽªŽªŽÝ", - "(¡¡Žß§ÕŽß)ŽÎŽßŽ¶Ž°ŽÝ", - "¡Ê¡¦¢Ï¡¦¡ËŽ¶Ž´ŽÚ!!", - "(¡­-`).Ž¡£ï£Ï()", - "(¦Ò¡¦¢Ï¡¦)¦ÒŽ¹ŽÞŽ¯ŽÂ", - NULL -}; - KitaWriteDialogPrivate* KitaWriteDialog::s_private = 0; KitaWriteDialog::KitaWriteDialog( QWidget* parent, const char* name ) @@ -63,12 +42,11 @@ KitaWriteDialog::KitaWriteDialog( QWidget* parent, const char* name ) mailLabel->setFont( font ); faceCombo->clear(); - int i = 0; - while ( kaomoji[ i ] ) { - QEucJpCodec codec; - QString str = codec.toUnicode( kaomoji[ i ], strlen( kaomoji[ i ] ) ); - faceCombo->insertItem( str ); - i++; + faceCombo->insertItem( "" ); + QStringList list = KitaConfig::asciiArtList(); + QStringList::iterator it; + for ( it = list.begin(); it != list.end(); ++it ) { + faceCombo->insertItem( *it ); } } diff --git a/kita/src/pref.cpp b/kita/src/pref.cpp index bfe57be..2ecc8c1 100644 --- a/kita/src/pref.cpp +++ b/kita/src/pref.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -23,6 +24,8 @@ #include "kitafontprefbase.h" #include "kitaconfig.h" +using namespace Kita; + KitaPreferences::KitaPreferences() : KDialogBase( TreeList, i18n( "Kita Preferences" ), Help | Default | Ok | Apply | Cancel, Ok ) @@ -41,6 +44,9 @@ KitaPreferences::KitaPreferences() QFrame * colorFrame = addPage( i18n( "Color" ), i18n( "Color" ) ); m_colorPage = new KitaColorPrefPage( colorFrame ); + + QFrame * asciiArtFrame = addPage( i18n( "AsciiArt" ), i18n( "AsciiArt" ) ); + m_asciiArtPage = new Kita::AsciiArtPrefPage( asciiArtFrame ); } KitaFontPrefPage::KitaFontPrefPage( QWidget* parent ) @@ -155,4 +161,20 @@ void KitaColorPrefPage::slotChangeButtonClicked() } } +AsciiArtPrefPage::AsciiArtPrefPage( QWidget* parent ) + : AsciiArtPrefBase( parent ) +{ + connect( saveButton, SIGNAL( clicked() ), SLOT( commit() ) ); + + asciiArtText->setText( KitaConfig::asciiArtList().join( "\n" ) ); +} + +void AsciiArtPrefPage::commit() +{ + QString text = asciiArtText->text(); + QStringList list = QStringList::split( '\n', text ); + + KitaConfig::setAsciiArtList( list ); +} + #include "pref.moc" diff --git a/kita/src/pref.h b/kita/src/pref.h index 9bf5d1e..56649f4 100644 --- a/kita/src/pref.h +++ b/kita/src/pref.h @@ -16,10 +16,16 @@ #include "kitafontprefbase.h" #include "kitacolorprefbase.h" +#include "asciiartprefbase.h" class KitaFontPrefPage; class KitaColorPrefPage; +namespace Kita +{ + class AsciiArtPrefPage; +}; + class KitaPreferences : public KDialogBase { Q_OBJECT @@ -30,6 +36,7 @@ public: private: KitaFontPrefPage* m_fontPage; KitaColorPrefPage* m_colorPage; + Kita::AsciiArtPrefPage* m_asciiArtPage; signals: void fontChanged( const QFont& ); @@ -66,4 +73,16 @@ public slots: void slotChangeButtonClicked(); }; +namespace Kita +{ + class AsciiArtPrefPage : public AsciiArtPrefBase + { + Q_OBJECT + public: + AsciiArtPrefPage( QWidget* parent = 0 ); + public slots: + void commit(); + }; +}; + #endif // _KITAPREF_H_ -- 2.11.0