-rw-r--r-- | Makefile | 9 | ||||
-rw-r--r-- | Makefile.Embedded | 9 | ||||
-rw-r--r-- | bin/kdepim/kopiemail/germantranslation.txt | 10 | ||||
-rw-r--r-- | kmicromail/koprefs.cpp | 5 | ||||
-rw-r--r-- | kmicromail/koprefs.h | 1 | ||||
-rw-r--r-- | kmicromail/koprefsdialog.cpp | 19 | ||||
-rw-r--r-- | kmicromail/mainwindow.cpp | 44 | ||||
-rw-r--r-- | kmicromail/opiemail.cpp | 3 | ||||
-rw-r--r-- | korganizer/kowhatsnextview.cpp | 2 | ||||
-rw-r--r-- | microkde/KDGanttMinimizeSplitter.cpp | 10 | ||||
-rw-r--r-- | microkde/KDGanttMinimizeSplitter.h | 2 |
11 files changed, 91 insertions, 23 deletions
@@ -198,119 +198,120 @@ variable_test: variable_info $(error SHARPDTMSDK is not defined) endif endif ifdef BUILD_NO_GAMMU @echo GAMMU will not be build, because BUILD_NO_GAMMU is set to $(BUILD_NO_GAMMU) endif ifdef BUILD_NO_PWMANAGER @echo PWMANAGER will not be build, because BUILD_NO_PWMANAGER is set to $(BUILD_NO_PWMANAGER) endif @echo -------------------------------------- objects: for i in $(SUBDIRS); do mkdir -p $$i/obj/$(PLATFORM); done for i in $(SUBDIRS); do mkdir -p $$i/moc/$(PLATFORM); done mkdir -p libical/lib/$(PLATFORM) mkdir -p pwmanager/libcrypt/$(PLATFORM) clean: rm -rf libical/lib/$(PLATFORM)/*; rm -rf pwmanager/libcrypt/$(PLATFORM)/*; for i in $(SUBDIRS); do pushd $$i; make clean; rm -f *~;\ rm -f obj/$(PLATFORM)/*; rm -f moc/$(PLATFORM)/*; rm Makefile$(PLATFORM); popd; \ done pac: rm -f $(QPEDIR)/lib/libmicro* rm -f $(QPEDIR)/plugins/applets/libkopi* make make install make dist install: cd bin/kdepim; make install cp -r Pim $(QPEDIR)/apps cp db2file/db2file $(QPEDIR)/bin/db2file chmod ugo+x $(QPEDIR)/bin/db2file cp korganizer/korganizer.desktop $(QPEDIR)/apps/Pim/korganizer.desktop cp kaddressbook/kaddressbook.desktop $(QPEDIR)/apps/Pim/kaddressbook.desktop cp kmicromail/kmicromail.desktop $(QPEDIR)/apps/Pim/kopiemail.desktop cp pwmanager/pwmanager/pwmanager.desktop $(QPEDIR)/apps/Pim/pwmanager.desktop dist: @echo Dont forget to do "make install" before "make dist" rm -f *arm.ipk rm -f *ipk.zip rm -f ../new_$(KDEPIM_VERSION)/* rm -f *~ - cd ..;mkdir -p new_$(KDEPIM_VERSION) + cd ..;mkdir -p kdepimpi_$(KDEPIM_VERSION) + cd ../kdepimpi_$(KDEPIM_VERSION);mkdir -p ipk cd ..; tar czf kdepimpi-$(KDEPIM_VERSION).tar.gz --exclude=obj --exclude=moc --exclude=CVS --exclude=Makefilezaurus --exclude=Makefileqtopia kdepim mkipks kmicrokdelibs.control mkipks korganizer.control mkipks kaddressbook.control ifndef BUILD_NO_MICROMAIL mkipks kopiemail.control endif ifndef BUILD_NO_SHARP_PLUGIN mkipks ksharpPIM-DTMaccess.control endif mkipks korganizer-alarm.control ifndef BUILD_NO_GAMMU mkipks kmobilephoneaccess.control endif ifndef BUILD_NO_PWMANAGER mkipks pwmanager.control endif mkipks pimTABicon.control zip kdepim_$(KDEPIM_VERSION)_for_SharpRom.ipk.zip *.ipk ReleaseNotes.txt - mv *.ipk ../new_$(KDEPIM_VERSION)/ - mv *for_SharpRom.ipk.zip ../new_$(KDEPIM_VERSION)/ - mv ../kdepimpi-$(KDEPIM_VERSION).tar.gz ../new_$(KDEPIM_VERSION)/ + mv *.ipk ../kdepimpi_$(KDEPIM_VERSION)/ipk/ + mv *for_SharpRom.ipk.zip ../kdepimpi_$(KDEPIM_VERSION)/ + mv ../kdepimpi-$(KDEPIM_VERSION).tar.gz ../kdepimpi_$(KDEPIM_VERSION)/ tmake: objects \ qtcompat/Makefile$(PLATFORM) \ microkde/Makefile$(PLATFORM) \ libkcal/Makefile$(PLATFORM) \ libkdepim/Makefile$(PLATFORM) \ korganizer/Makefile$(PLATFORM) \ kalarmd/Makefile$(PLATFORM) \ libical/src/libical/Makefile$(PLATFORM) \ libical/src/libicalss/Makefile$(PLATFORM) \ kabc/Makefile$(PLATFORM) \ kabc/formats/binary/Makefile$(PLATFORM) \ kabc/plugins/file/Makefile$(PLATFORM) \ kabc/plugins/dir/Makefile$(PLATFORM) \ kabc/plugins/ldap/Makefile$(PLATFORM) \ kabc/plugins/opie/Makefile$(PLATFORM) \ kabc/plugins/qtopia/Makefile$(PLATFORM) \ kabc/plugins/sharpdtm/Makefile$(PLATFORM) \ kaddressbook/Makefile$(PLATFORM) \ kmicromail/Makefile$(PLATFORM) \ kmicromail/libetpan/Makefile$(PLATFORM) \ kmicromail/libmailwrapper/Makefile$(PLATFORM) \ gammu/emb/common/Makefile$(PLATFORM) \ gammu/emb/gammu/Makefile$(PLATFORM) \ pwmanager/pwmanager/Makefile$(PLATFORM) \ pwmanager/libcrypt/mpi/Makefile$(PLATFORM) \ pwmanager/libcrypt/error/Makefile$(PLATFORM) \ pwmanager/libcrypt/cipher/Makefile$(PLATFORM) \ pwmanager/libcrypt/zlib/Makefile$(PLATFORM) qtcompat/Makefile$(PLATFORM): qtcompat/qtcompat.pro cd qtcompat; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" qtcompat.pro -o Makefile$(PLATFORM) microkde/Makefile$(PLATFORM): microkde/microkdeE.pro cd microkde; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" microkdeE.pro -o Makefile$(PLATFORM) libkcal/Makefile$(PLATFORM): libkcal/libkcalE.pro cd libkcal; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libkcalE.pro -o Makefile$(PLATFORM) libkdepim/Makefile$(PLATFORM): libkdepim/libkdepimE.pro cd libkdepim; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libkdepimE.pro -o Makefile$(PLATFORM) kalarmd/Makefile$(PLATFORM): kalarmd/kalarmdE.pro cd kalarmd; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kalarmdE.pro -o Makefile$(PLATFORM) korganizer/Makefile$(PLATFORM): korganizer/korganizerE.pro cd korganizer; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" korganizerE.pro -o Makefile$(PLATFORM) diff --git a/Makefile.Embedded b/Makefile.Embedded index 68619b9..9656532 100644 --- a/Makefile.Embedded +++ b/Makefile.Embedded @@ -198,119 +198,120 @@ variable_test: variable_info $(error SHARPDTMSDK is not defined) endif endif ifdef BUILD_NO_GAMMU @echo GAMMU will not be build, because BUILD_NO_GAMMU is set to $(BUILD_NO_GAMMU) endif ifdef BUILD_NO_PWMANAGER @echo PWMANAGER will not be build, because BUILD_NO_PWMANAGER is set to $(BUILD_NO_PWMANAGER) endif @echo -------------------------------------- objects: for i in $(SUBDIRS); do mkdir -p $$i/obj/$(PLATFORM); done for i in $(SUBDIRS); do mkdir -p $$i/moc/$(PLATFORM); done mkdir -p libical/lib/$(PLATFORM) mkdir -p pwmanager/libcrypt/$(PLATFORM) clean: rm -rf libical/lib/$(PLATFORM)/*; rm -rf pwmanager/libcrypt/$(PLATFORM)/*; for i in $(SUBDIRS); do pushd $$i; make clean; rm -f *~;\ rm -f obj/$(PLATFORM)/*; rm -f moc/$(PLATFORM)/*; rm Makefile$(PLATFORM); popd; \ done pac: rm -f $(QPEDIR)/lib/libmicro* rm -f $(QPEDIR)/plugins/applets/libkopi* make make install make dist install: cd bin/kdepim; make install cp -r Pim $(QPEDIR)/apps cp db2file/db2file $(QPEDIR)/bin/db2file chmod ugo+x $(QPEDIR)/bin/db2file cp korganizer/korganizer.desktop $(QPEDIR)/apps/Pim/korganizer.desktop cp kaddressbook/kaddressbook.desktop $(QPEDIR)/apps/Pim/kaddressbook.desktop cp kmicromail/kmicromail.desktop $(QPEDIR)/apps/Pim/kopiemail.desktop cp pwmanager/pwmanager/pwmanager.desktop $(QPEDIR)/apps/Pim/pwmanager.desktop dist: @echo Dont forget to do "make install" before "make dist" rm -f *arm.ipk rm -f *ipk.zip rm -f ../new_$(KDEPIM_VERSION)/* rm -f *~ - cd ..;mkdir -p new_$(KDEPIM_VERSION) + cd ..;mkdir -p kdepimpi_$(KDEPIM_VERSION) + cd ../kdepimpi_$(KDEPIM_VERSION);mkdir -p ipk cd ..; tar czf kdepimpi-$(KDEPIM_VERSION).tar.gz --exclude=obj --exclude=moc --exclude=CVS --exclude=Makefilezaurus --exclude=Makefileqtopia kdepim mkipks kmicrokdelibs.control mkipks korganizer.control mkipks kaddressbook.control ifndef BUILD_NO_MICROMAIL mkipks kopiemail.control endif ifndef BUILD_NO_SHARP_PLUGIN mkipks ksharpPIM-DTMaccess.control endif mkipks korganizer-alarm.control ifndef BUILD_NO_GAMMU mkipks kmobilephoneaccess.control endif ifndef BUILD_NO_PWMANAGER mkipks pwmanager.control endif mkipks pimTABicon.control zip kdepim_$(KDEPIM_VERSION)_for_SharpRom.ipk.zip *.ipk ReleaseNotes.txt - mv *.ipk ../new_$(KDEPIM_VERSION)/ - mv *for_SharpRom.ipk.zip ../new_$(KDEPIM_VERSION)/ - mv ../kdepimpi-$(KDEPIM_VERSION).tar.gz ../new_$(KDEPIM_VERSION)/ + mv *.ipk ../kdepimpi_$(KDEPIM_VERSION)/ipk/ + mv *for_SharpRom.ipk.zip ../kdepimpi_$(KDEPIM_VERSION)/ + mv ../kdepimpi-$(KDEPIM_VERSION).tar.gz ../kdepimpi_$(KDEPIM_VERSION)/ tmake: objects \ qtcompat/Makefile$(PLATFORM) \ microkde/Makefile$(PLATFORM) \ libkcal/Makefile$(PLATFORM) \ libkdepim/Makefile$(PLATFORM) \ korganizer/Makefile$(PLATFORM) \ kalarmd/Makefile$(PLATFORM) \ libical/src/libical/Makefile$(PLATFORM) \ libical/src/libicalss/Makefile$(PLATFORM) \ kabc/Makefile$(PLATFORM) \ kabc/formats/binary/Makefile$(PLATFORM) \ kabc/plugins/file/Makefile$(PLATFORM) \ kabc/plugins/dir/Makefile$(PLATFORM) \ kabc/plugins/ldap/Makefile$(PLATFORM) \ kabc/plugins/opie/Makefile$(PLATFORM) \ kabc/plugins/qtopia/Makefile$(PLATFORM) \ kabc/plugins/sharpdtm/Makefile$(PLATFORM) \ kaddressbook/Makefile$(PLATFORM) \ kmicromail/Makefile$(PLATFORM) \ kmicromail/libetpan/Makefile$(PLATFORM) \ kmicromail/libmailwrapper/Makefile$(PLATFORM) \ gammu/emb/common/Makefile$(PLATFORM) \ gammu/emb/gammu/Makefile$(PLATFORM) \ pwmanager/pwmanager/Makefile$(PLATFORM) \ pwmanager/libcrypt/mpi/Makefile$(PLATFORM) \ pwmanager/libcrypt/error/Makefile$(PLATFORM) \ pwmanager/libcrypt/cipher/Makefile$(PLATFORM) \ pwmanager/libcrypt/zlib/Makefile$(PLATFORM) qtcompat/Makefile$(PLATFORM): qtcompat/qtcompat.pro cd qtcompat; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" qtcompat.pro -o Makefile$(PLATFORM) microkde/Makefile$(PLATFORM): microkde/microkdeE.pro cd microkde; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" microkdeE.pro -o Makefile$(PLATFORM) libkcal/Makefile$(PLATFORM): libkcal/libkcalE.pro cd libkcal; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libkcalE.pro -o Makefile$(PLATFORM) libkdepim/Makefile$(PLATFORM): libkdepim/libkdepimE.pro cd libkdepim; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" libkdepimE.pro -o Makefile$(PLATFORM) kalarmd/Makefile$(PLATFORM): kalarmd/kalarmdE.pro cd kalarmd; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" kalarmdE.pro -o Makefile$(PLATFORM) korganizer/Makefile$(PLATFORM): korganizer/korganizerE.pro cd korganizer; tmake "CONFIG+=$(RELEASE_DEBUG)" "VERSION=$(KDEPIM_VERSION)" korganizerE.pro -o Makefile$(PLATFORM) diff --git a/bin/kdepim/kopiemail/germantranslation.txt b/bin/kdepim/kopiemail/germantranslation.txt index 86819b7..68dc6db 100644 --- a/bin/kdepim/kopiemail/germantranslation.txt +++ b/bin/kdepim/kopiemail/germantranslation.txt @@ -213,52 +213,62 @@ { "Delete File","Lösche Datei" }, { "Add File","Füge Datei hinzu" }, { "Attachment","Anhang" }, { "send later","sende später" }, { "use:","via:" }, { "Save","Speichern" }, { "Name","Name" }, { "No Receiver spezified","Kein Empfänger angegeben" }, { "Sending mail","Sende Mail" }, { "No","Nein" }, { "Yes","Ja" }, { "Store message into drafts?\n","Speichere Nachricht in Entwürfe?\n" }, { "Store message?","Nachricht speichern?" }, { "Select Type","Selektiere Typ" }, { "Select Account Type","Wähle Art des Zugangs" }, { "IMAP","IMAP (online lesen)" }, { "POP3","POP3 (holen)" }, { "SMTP","SMTP (senden)" }, { "<p>Do you really want to delete the selected Account?</p>","<p>Möchten Sie wirklich den ausgewählten Account löschen?</p>" }, { "Question","Eine Frage..." }, { "Send this message?","Nachricht wirklich senden?" }, { "Stop editing message","Stop editing message" }, { "Sending mail %1 of %2","Sende Mail %1 von %2" }, { "%1 of %2 bytes send","%1 von %2 Bytes gesendet" }, { "Refresh header list","Aktualisiere Titel Liste" }, { "Define a smtp\n account first!\n","Bitte zuerst einen\nSMTP Account anlegen!\n" }, { "Mail queue flushed","Gespeicherte Mails gesendet!" }, { "Please create an\nSMTP account first.\nThe SMTP is needed\nfor sending mail.\n","Bitte legen Sie einen\nSMTP Account an.\nDer SMTP Account wird\nfür das Versenden von\nMails benötigt!" }, { "Show next mail","Zeige nächste Mail" }, { "End of List","Ende der Liste" }, { "Language","Sprache" }, { "Time Format","Zeit Format" }, { "%1 groups subscribed","%1 Guppen abboniert" }, { "Your current storage dir is:\n%1\nYour mail is stored in:\n(storagedir)/apps/kopiemail/localmail","Ihr gerade genutztes Speicherverzeichnis ist:\n%1\nIhre Mail wird gespeichert in:\n(speicherverzeichnis)/apps/kopiemail/localmail" }, { "<b>Set new data storage dir:</b>","<b>Setze neues Datenspeicherverzeichnis:</b>" }, { "Not existing dirs are created automatically","Nicht existierende Verzeichnisse werden erstellt" }, { "Save settings","Speichere Einstellungen" }, { "Save standard","Speichere Standard" }, { "<b>New settings are used\nafter a restart</b>","<b>Neue Einstellungen werden nach\neinem Neustart genutzt</b>" }, { "The settings of the storage\ndir is saved in the file\n%1","Die Einstellungen des Speicherverzeichnisses\nwerden in folgender Datei gespeichert:\n%1" }, { "Data storage path","Daten Speicherpfad" }, { "userdefined","benutzerdefiniert" }, { "Reply to this mail","Beantworte diese Mail" }, { "Su:","Be:" }, { "Fr:","Vo:" }, { "To:","An:" }, { "Download Mail","Mail runterladen" }, { "View Source","Zeige Source" }, +{ "Show "To" field in list view","Zeige "An" Feld in Listenansicht" }, +{ "Show info fields at startup","Zeige Info Felder beim Start" }, +{ "Show "Subject" info field","Zeige "Betreff" Info Feld" }, +{ "Show "From" info field","Zeige "Von" Info Feld" }, +{ "Show "To" info field","Zeige "An" Info Feld" }, +{ "","" }, +{ "","" }, +{ "","" }, +{ "","" }, +{ "","" }, { "","" }, { "","" }, { "","" }, { "","" }, diff --git a/kmicromail/koprefs.cpp b/kmicromail/koprefs.cpp index 2bae5f6..7b1e169 100644 --- a/kmicromail/koprefs.cpp +++ b/kmicromail/koprefs.cpp @@ -20,97 +20,100 @@ with any edition of Qt, and distribute the resulting executable, without including the source code for Qt in the source distribution. */ #include <time.h> #ifndef _WIN32_ #include <unistd.h> #endif #include <qdir.h> #include <qtextstream.h> #include <qtextcodec.h> #include <qstring.h> #include <qregexp.h> #include <qfont.h> #include <qcolor.h> #include <qstringlist.h> #include <stdlib.h> #include <kglobal.h> #include <kconfig.h> #include <klocale.h> #include <kdebug.h> #include <kemailsettings.h> #include <kstaticdeleter.h> #include "koprefs.h" #include "mainwindow.h" KOPrefs *KOPrefs::mInstance = 0; static KStaticDeleter<KOPrefs> insd; KOPrefs::KOPrefs() : KPimPrefs("kopiemailrc") { mAppFont = QFont("helvetica",12); mComposeFont = QFont("helvetica",12); mReadFont = QFont("helvetica",12); KPrefs::setCurrentGroup("General"); addItemString("SendCodec",&mSendCodec,i18n ("userdefined") ); addItemString("SenderName",&mName,i18n ("Please set at") ); addItemString("SenderEmail",&mEmail,i18n ("Settings@General TAB") ); addItemBool("ViewMailAsHtml",&mViewAsHtml,false); addItemBool("SendMailLater",&mSendLater,true); addItemBool("ShowToField",&mShowToField,false); addItemBool("UseKapi",&mUseKapi,false); addItemInt("CurrentCodec",&mCurrentCodec,0); - + addItemBool("ShowInfoSub",&mShowInfoSub,true); + addItemBool("ShowInfoFrom",&mShowInfoFrom,true); + addItemBool("ShowInfoTo",&mShowInfoTo,true); + addItemBool("ShowInfoStart",&mShowInfoStart,true); KPrefs::setCurrentGroup("Fonts"); addItemFont("Application Font",&mAppFont); addItemFont("Compose Font",&mComposeFont); addItemFont("Read Font",&mReadFont); fillMailDefaults(); isDirty = false; } KOPrefs::~KOPrefs() { if ( isDirty ) writeConfig(); if (mInstance == this) mInstance = insd.setObject(0); } KOPrefs *KOPrefs::instance() { if (!mInstance) { mInstance = insd.setObject(new KOPrefs()); mInstance->readConfig(); } return mInstance; } void KOPrefs::usrSetDefaults() { } void KOPrefs::fillMailDefaults() { if (mName.isEmpty()) mName = i18n ("Please set at"); if (mEmail.isEmpty()) mEmail = i18n ("Settings@General TAB"); } void KOPrefs::usrReadConfig() { KPimPrefs::usrReadConfig(); } void KOPrefs::usrWriteConfig() diff --git a/kmicromail/koprefs.h b/kmicromail/koprefs.h index f2c4fbb..f2501e3 100644 --- a/kmicromail/koprefs.h +++ b/kmicromail/koprefs.h @@ -28,53 +28,54 @@ class KConfig; class QFont; class QColor; class QStringList; class KOPrefs : public KPimPrefs { public: virtual ~KOPrefs(); /** Get instance of KOPrefs. It is made sure that there is only one instance. */ static KOPrefs *instance(); /** Set preferences to default values */ void usrSetDefaults(); /** Read preferences from config file */ void usrReadConfig(); /** Write preferences to config file */ void usrWriteConfig(); void setCategoryDefaults(){;}; protected: /** Fill empty mail fields with default values. */ void fillMailDefaults(); private: /** Constructor disabled for public. Use instance() to create a KOPrefs object. */ KOPrefs(); static KOPrefs *mInstance; public: // preferences data KConfig* getConfig(); QFont mAppFont; QFont mComposeFont; QFont mReadFont; QString mName; QString mSendCodec; QString mEmail; QString mCurrentCodeName; int mCurrentCodec; bool mSendLater, mViewAsHtml, mUseKapi, isDirty, mShowToField; + bool mShowInfoSub, mShowInfoFrom, mShowInfoTo, mShowInfoStart; private: }; #endif diff --git a/kmicromail/koprefsdialog.cpp b/kmicromail/koprefsdialog.cpp index 5c8a5a9..4af4a8c 100644 --- a/kmicromail/koprefsdialog.cpp +++ b/kmicromail/koprefsdialog.cpp @@ -105,96 +105,115 @@ void KOPrefsDialog::setupGlobalTab() topLayout->addWidget( kdelibcfg ); } void KOPrefsDialog::setupMainTab() { QFrame *topFrame = addPage(i18n("General"),0,0); QGridLayout *topLayout = new QGridLayout(topFrame,6,2); topLayout->setSpacing(spacingHint()); topLayout->setMargin(marginHint()); mNameEdit = new QLineEdit(topFrame); mNameLabel = new QLabel(mNameEdit, i18n("Full &name:"), topFrame); topLayout->addWidget(mNameLabel,0,0); topLayout->addWidget(mNameEdit,0,1); mEmailEdit = new QLineEdit(topFrame); mEmailLabel = new QLabel(mEmailEdit, i18n("E&mail address:"),topFrame); topLayout->addWidget(mEmailLabel,1,0); topLayout->addWidget(mEmailEdit,1,1); QLabel *lab = new QLabel( i18n("HINT: Separate multiple\neMail addresses by \";\""), topFrame); topLayout->addMultiCellWidget(lab,2,2,0,1); KPrefsDialogWidBool* ttt = addWidBool(i18n("Ignore above settings and\nuse KA/Pi \"Who am I\" instead!"), &(KOPrefs::instance()->mUseKapi),topFrame); topLayout->addMultiCellWidget(ttt->checkBox(),3,3,0,1); } void KOPrefsDialog::setupMailTab() { QFrame *topFrame = addPage(i18n("Mail"),0,0); QGridLayout *topLayout = new QGridLayout(topFrame,4,2); topLayout->setSpacing(spacingHint()); topLayout->setMargin(marginHint()); KPrefsDialogWidBool* ttt = addWidBool(i18n("View mail as html"), &(KOPrefs::instance()->mViewAsHtml),topFrame); topLayout->addMultiCellWidget(ttt->checkBox(),0,0,0,1); ttt = addWidBool(i18n("Send mails later"), &(KOPrefs::instance()->mSendLater),topFrame); topLayout->addMultiCellWidget(ttt->checkBox(),1,1,0,1); ttt = addWidBool(i18n("Show \"To\" field in list view"), &(KOPrefs::instance()->mShowToField),topFrame); topLayout->addMultiCellWidget(ttt->checkBox(),2,2,0,1); + + int iii =3; + ttt = addWidBool(i18n("Show info fields at startup"), + &(KOPrefs::instance()->mShowInfoStart),topFrame); + topLayout->addMultiCellWidget(ttt->checkBox(),iii,iii,0,1); + ++iii; + ttt = addWidBool(i18n("Show \"Subject\" info field"), + &(KOPrefs::instance()->mShowInfoSub),topFrame); + topLayout->addMultiCellWidget(ttt->checkBox(),iii,iii,0,1); + ++iii; + ttt = addWidBool(i18n("Show \"From\" info field"), + &(KOPrefs::instance()->mShowInfoFrom),topFrame); + topLayout->addMultiCellWidget(ttt->checkBox(),iii,iii,0,1); + ++iii; + ttt = addWidBool(i18n("Show \"To\" info field"), + &(KOPrefs::instance()->mShowInfoTo),topFrame); + topLayout->addMultiCellWidget(ttt->checkBox(),iii,iii,0,1); + ++iii; + /* mCodecEdit = new QLineEdit(topFrame); topLayout->addMultiCellWidget( new QLabel(mCodecEdit, i18n("User defined codec for new mails:"), topFrame),2,2,0,1); topLayout->addMultiCellWidget(mCodecEdit,3,3,0,1); topLayout->addMultiCellWidget( new QLabel(0, i18n("Example: iso-8859-15"), topFrame),4,4,0,1); */ } void KOPrefsDialog::setupFontsTab() { QFrame *topFrame = addPage(i18n("Fonts"),0,0); // DesktopIcon("fonts",KIcon::SizeMedium)); QGridLayout *topLayout = new QGridLayout(topFrame,7,3); topLayout->setSpacing(1); topLayout->setMargin(3); KPrefsDialogWidFont * tVFont; int i = 0; KPrefsDialogWidFont *timeLabelsFont = addWidFont(i18n("OK"),i18n("Application(nr)"), &(KOPrefs::instance()->mAppFont),topFrame); topLayout->addWidget(timeLabelsFont->label(),i,0); topLayout->addWidget(timeLabelsFont->preview(),i,1); topLayout->addWidget(timeLabelsFont->button(),i,2); ++i; timeLabelsFont = addWidFont(i18n("Dear Mr."),i18n("Compose mail:"), &(KOPrefs::instance()->mComposeFont),topFrame); topLayout->addWidget(timeLabelsFont->label(),i,0); topLayout->addWidget(timeLabelsFont->preview(),i,1); topLayout->addWidget(timeLabelsFont->button(),i,2); ++i; KPrefsDialogWidFont *timeBarFont = addWidFont(i18n("Hello"),i18n("Read mail:"), &(KOPrefs::instance()->mReadFont),topFrame); topLayout->addWidget(timeBarFont->label(),i,0); topLayout->addWidget(timeBarFont->preview(),i,1); topLayout->addWidget(timeBarFont->button(),i,2); ++i; topLayout->setColStretch(1,1); topLayout->setRowStretch(4,1); } void KOPrefsDialog::usrReadConfig() diff --git a/kmicromail/mainwindow.cpp b/kmicromail/mainwindow.cpp index 250d114..0794e00 100644 --- a/kmicromail/mainwindow.cpp +++ b/kmicromail/mainwindow.cpp @@ -1,289 +1,309 @@ // CHANGED 2004-08-06 Lutz Rogowski #include <qlabel.h> #include <qvbox.h> #include <qheader.h> #include <qtimer.h> #include <qlayout.h> //#include <kdialog.h> #include <kiconloader.h> #include <kapplication.h> #ifdef DESKTOP_VERSION #include <qapplication.h> #include <qstatusbar.h> #include <kabc/stdaddressbook.h> extern QStatusBar* globalSstatusBarMainWindow; #else #include <qpe/qpeapplication.h> #include <klocale.h> #endif #include "defines.h" +#include "koprefs.h" #include "mainwindow.h" #include "mailistviewitem.h" #include <KDGanttMinimizeSplitter.h> #include "koprefs.h" MainWindow::MainWindow( QWidget *parent, const char *name, WFlags flags ) : QMainWindow( parent, name ) //, flags ) { #ifdef DESKTOP_VERSION globalSstatusBarMainWindow = statusBar(); #endif setCaption( i18n( "KOpieMail/Pi" ) ); setToolBarsMovable( false ); //KABC::StdAddressBook::self(); toolBar = new QToolBar( this ); menuBar = new QPEMenuBar( toolBar ); mailMenu = new QPopupMenu( menuBar ); menuBar->insertItem( i18n( "Mail" ), mailMenu ); settingsMenu = new QPopupMenu( menuBar ); menuBar->insertItem( i18n( "Settings" ), settingsMenu ); addToolBar( toolBar ); toolBar->setHorizontalStretchable( true ); QAction* getMail = new QAction( i18n( "Get all new mails" ), SmallIcon("enter"), 0, 0, this ); connect(getMail, SIGNAL( activated() ), SLOT( slotGetAllMail() ) ); getMail->addTo( mailMenu ); getMail = new QAction( i18n( "Get new messages" ), SmallIcon("add"), 0, 0, this ); getMail->addTo( toolBar ); getMail->addTo( mailMenu ); connect(getMail, SIGNAL( activated() ), SLOT( slotGetMail() ) ); composeMail = new QAction( i18n( "Compose new mail" ), SmallIcon("composemail"), 0, 0, this ); composeMail->addTo( toolBar ); composeMail->addTo( mailMenu ); sendQueued = new QAction( i18n( "Send queued mails" ), SmallIcon("sendqueued") , 0, 0, this ); sendQueued->addTo( toolBar ); sendQueued->addTo( mailMenu ); /* syncFolders = new QAction( i18n( "Sync mailfolders" ), ICON_SYNC, 0, 0, this ); syncFolders->addTo( toolBar ); syncFolders->addTo( mailMenu ); */ showFolders = new QAction( i18n( "Show/Hide folders" ), SmallIcon("showfolders") , 0, 0, this, 0, true ); showFolders->addTo( toolBar ); showFolders->addTo( mailMenu ); showFolders->setOn( true ); connect(showFolders, SIGNAL( toggled(bool) ), SLOT( slotShowFolders(bool) ) ); /* searchMails = new QAction( i18n( "Search mails" ), SmallIcon("find") ), 0, 0, this ); - searchMails->addTo( toolBar ); + searchMails->kopddTo( toolBar ); searchMails->addTo( mailMenu ); */ deleteMails = new QAction(i18n("Delete Mail"), SmallIcon("trash"), 0, 0, this); deleteMails->addTo( toolBar ); deleteMails->addTo( mailMenu ); connect( deleteMails, SIGNAL( activated() ), SLOT( slotDeleteAllMail() ) ); editSettings = new QAction( i18n( "Edit settings" ), SmallIcon("SettingsIcon") , 0, 0, this ); editSettings->addTo( settingsMenu ); connect( editSettings, SIGNAL( activated() ), SLOT( slotEditSettings() ) ); editAccounts = new QAction( i18n( "Configure accounts" ), SmallIcon("editaccounts") , 0, 0, this ); editAccounts->addTo( settingsMenu ); codecMenu = new QPopupMenu( menuBar ); codecMenu->insertItem( "Western (iso-8859-1)",0,0); codecMenu->insertItem( "Cyrillic (iso-8859-5)",1,1); codecMenu->insertItem( "Western (iso-8859-15)",2,2); codecMenu->insertItem( "Chinese (big-5)",3,3); codecMenu->insertItem( "Unicode (utf-8)",4,4); codecMenu->insertItem( "Userdefined ("+KOPrefs::instance()->mSendCodec+")",5,5); //disabled //settingsMenu->insertItem( i18n("Codec for new mails"), codecMenu); //setCentralWidget( view ); QVBox* wrapperBox = new QVBox( this ); setCentralWidget( wrapperBox ); // QWidget *view = new QWidget( wrapperBox ); KDGanttMinimizeSplitter* splithor = new KDGanttMinimizeSplitter( Qt::Vertical, wrapperBox); splithor->setMinimizeDirection( KDGanttMinimizeSplitter::Down); KDGanttMinimizeSplitter* split = new KDGanttMinimizeSplitter( Qt::Horizontal, splithor); split->setMinimizeDirection( KDGanttMinimizeSplitter::Left); //layout = new QBoxLayout ( split, QBoxLayout::LeftToRight ); + subLE = 0; + fromLE = 0; + toLE = 0; + if ( KOPrefs::instance()->mShowInfoSub || KOPrefs::instance()->mShowInfoFrom || KOPrefs::instance()->mShowInfoTo ) { QWidget* infoBox = new QWidget( splithor ); QGridLayout *griLay = new QGridLayout( infoBox, 2,2); + if ( KOPrefs::instance()->mShowInfoSub ) { griLay->addWidget( new QLabel ( i18n("Su:"), infoBox ),0,0 ); - griLay->addWidget( new QLabel ( i18n("Fr:"), infoBox ),1,0 ); - griLay->addWidget( new QLabel ( i18n("To:"), infoBox ),2,0 ); griLay->addWidget( subLE = new QLineEdit( infoBox ),0,1) ; + } + if ( KOPrefs::instance()->mShowInfoFrom ) { + griLay->addWidget( new QLabel ( i18n("Fr:"), infoBox ),1,0 ); griLay->addWidget( fromLE = new QLineEdit( infoBox ),1,1) ; + } + if ( KOPrefs::instance()->mShowInfoTo ) { + griLay->addWidget( new QLabel ( i18n("To:"), infoBox ),2,0 ); griLay->addWidget( toLE = new QLineEdit( infoBox ),2,1) ; + } infoBox->setMaximumHeight( infoBox->sizeHint().height() ); + if ( !KOPrefs::instance()->mShowInfoStart ) { + QTimer::singleShot( 1,splithor, SLOT ( toggle() ) ); + } + } + + folderView = new AccountView( split ); folderView->header()->hide(); folderView->setRootIsDecorated( false ); folderView->addColumn( i18n( "Mailbox" ) ); //layout->addWidget( folderView ); mailView = new QListView( split ); mailView->addColumn( i18n( " " ) ); mailView->addColumn( i18n( "Subject" ),QListView::Manual ); mailView->addColumn( i18n( "Sender" ),QListView::Manual ); mailView->addColumn( i18n( "Size" ),QListView::Manual); mailView->addColumn( i18n( "Date" ),QListView::Manual); if ( KOPrefs::instance()->mShowToField ) mailView->addColumn( i18n( "To" ),QListView::Manual); mailView->setAllColumnsShowFocus(true); //mailView->setSorting(-1); mailView->setRootIsDecorated( false ); statusWidget = new StatusWidget( wrapperBox ); statusWidget->hide(); //layout->addWidget( mailView ); //layout->setStretchFactor( folderView, 1 ); //layout->setStretchFactor( mailView, 2 ); slotAdjustLayout(); #ifndef DESKTOP_VERSION QPEApplication::setStylusOperation( mailView->viewport(),QPEApplication::RightOnHold); QPEApplication::setStylusOperation( folderView->viewport(),QPEApplication::RightOnHold); + if ( subLE ) QPEApplication::setStylusOperation( subLE ,QPEApplication::RightOnHold); + if ( fromLE ) QPEApplication::setStylusOperation( fromLE ,QPEApplication::RightOnHold); + if ( toLE ) QPEApplication::setStylusOperation( toLE ,QPEApplication::RightOnHold); #endif connect( mailView, SIGNAL( doubleClicked (QListViewItem* )),this, SLOT( mailLeftClicked(QListViewItem*) ) ); connect( mailView, SIGNAL( returnPressed (QListViewItem* )),this, SLOT( mailLeftClicked(QListViewItem*) ) ); connect( mailView, SIGNAL( mouseButtonPressed(int,QListViewItem*,const QPoint&,int) ),this, SLOT( mailHold(int,QListViewItem*,const QPoint&,int) ) ); connect(folderView, SIGNAL(refreshMailview(const QValueList<RecMailP>&)), this,SLOT(refreshMailView(const QValueList<RecMailP>&))); connect( mailView, SIGNAL( currentChanged (QListViewItem* )),this, SLOT( setInfoFields(QListViewItem*) ) ); connect( composeMail, SIGNAL( activated() ), SLOT( slotComposeMail() ) ); connect( sendQueued, SIGNAL( activated() ), SLOT( slotSendQueued() ) ); // connect( searchMails, SIGNAL( activated() ), SLOT( slotSearchMails() ) ); connect( editAccounts, SIGNAL( activated() ), SLOT( slotEditAccounts() ) ); //mailView->setMultiSelection ( true ); mailView->setSelectionMode( QListView::Extended ); QValueList<int> list; int fw = 100; if ( QApplication::desktop()->width() > 320 ) fw = 50; list.append( fw ); list.append( 100 ); split->setSizes( list ); QTimer::singleShot( 1000, this, SLOT( slotAdjustColumns() ) ); mailView->setShowSortIndicator ( true ); QLabel *spacer = new QLabel( toolBar ); spacer->setBackgroundMode( QWidget::PaletteButton ); toolBar->setStretchableWidget( spacer ); QAction* closeMail = new QAction(i18n("Close"),SmallIcon("exit"), 0, 0, this); connect( closeMail, SIGNAL( activated() ), SLOT( close() ) ); if ( QApplication::desktop()->width() > 320 ) closeMail->addTo(toolBar); closeMail->addTo(mailMenu); QPopupMenu* helpMenu = new QPopupMenu( menuBar ); menuBar->insertItem( i18n( "Help" ), helpMenu ); QAction* li = new QAction(i18n("About"), QPixmap(), 0, 0, this); connect( li, SIGNAL( activated() ), SLOT( showAbout()) ); li->addTo(helpMenu); li = new QAction(i18n("Licence"),QPixmap(), 0, 0, this); connect( li, SIGNAL( activated() ), SLOT( showLicence()) ); li->addTo(helpMenu); li = new QAction(i18n("LibEtPan Licence"), QPixmap(), 0, 0, this); connect( li, SIGNAL( activated() ), SLOT( showEtpanLicence()) ); li->addTo(helpMenu); connect( codecMenu, SIGNAL( activated(int) ), this, SLOT( slotSetCodec( int )) ); slotSetCodec( KOPrefs::instance()->mCurrentCodec ); #ifdef DESKTOP_VERSION resize ( 640, 480 ); #endif } MainWindow::~MainWindow() { } void MainWindow::setInfoFields(QListViewItem* item ) { if ( item == 0) { - subLE->setText(""); - fromLE->setText(""); - toLE->setText(""); + if ( subLE ) subLE->setText(""); + if ( fromLE ) fromLE->setText(""); + if ( toLE ) toLE->setText(""); return; } RecMailP mail = ((MailListViewItem*)item)->data(); - subLE->setText(mail->getSubject()); - fromLE->setText(mail->getFrom()); - toLE->setText(mail->To().join(";" )); - subLE->setCursorPosition(0); - fromLE->setCursorPosition(0); - toLE->setCursorPosition(0); + if ( subLE ) subLE->setText(mail->getSubject()); + if ( fromLE ) fromLE->setText(mail->getFrom()); + if ( toLE ) toLE->setText(mail->To().join(";" )); + if ( subLE ) subLE->setCursorPosition(0); + if ( fromLE ) fromLE->setCursorPosition(0); + if ( toLE ) toLE->setCursorPosition(0); } void MainWindow::slotSetCodec( int codec ) { codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, false ); //qDebug("codec %d ", codec); KOPrefs::instance()->mCurrentCodec = codec; KOPrefs::instance()->isDirty = true; QString name; switch ( codec ) { case 0: name = "iso-8859-1"; break; case 1: name = "iso-8859-5"; break; case 2: name = "iso-8859-15"; break; case 3: name = "big-5"; break; case 4: name = "utf-8"; break; case 5: name = KOPrefs::instance()->mSendCodec.lower(); break; } KOPrefs::instance()->mCurrentCodeName = name ; codecMenu->changeItem ( 5, "Userdefined ("+KOPrefs::instance()->mSendCodec+")"); codecMenu->setItemChecked(KOPrefs::instance()->mCurrentCodec, true ); } void MainWindow::showLicence() { KApplication::showLicence(); } void MainWindow::showAbout() { QString version; #include <../version> QString cap = "About KOpieMail/Pi"; QString text = i18n("KOpieMail/Platform-independent\n") + "(OM/Pi) " + version + " - " #ifdef DESKTOP_VERSION "Desktop Edition\n" diff --git a/kmicromail/opiemail.cpp b/kmicromail/opiemail.cpp index 68f0eb3..f56711d 100644 --- a/kmicromail/opiemail.cpp +++ b/kmicromail/opiemail.cpp @@ -450,103 +450,104 @@ void OpieMail::slotDeleteAllMail() QValueList<RecMailP> t; if ( QMessageBox::warning(this, i18n("Delete All Mails"), i18n("Do you really want to delete\nall selected mails?" ) , QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) { MailListViewItem* item = (MailListViewItem*)mailView->firstChild (); while ( item ) { if ( item->isSelected() ) { t.append( item->data() ); } item = (MailListViewItem*)item->nextSibling(); } } else return; if ( t.count() == 0 ) return; RecMailP mail = t.first(); mail->Wrapper()->deleteMailList(t); folderView->refreshCurrent(); } void OpieMail::clearSelection() { mailView->clearSelection(); } void OpieMail::mailHold(int button, QListViewItem *item,const QPoint&,int ) { if (!mailView->currentItem()) return; MAILLIB::ATYPE mailtype = ((MailListViewItem*)mailView->currentItem() )->wrapperType(); /* just the RIGHT button - or hold on pda */ if (button!=2) {return;} if (!item) return; QPopupMenu *m = new QPopupMenu(0); if (m) { if (mailtype==MAILLIB::A_NNTP) { m->insertItem(i18n("Read this posting"),this,SLOT(displayMail())); m->insertItem(i18n("Copy this posting"),this,SLOT(slotMoveCopyMail())); m->insertSeparator(); m->insertItem(i18n("Copy all selected postings"),this,SLOT(slotMoveCopyAllMail())); m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); } else { if (folderView->currentisDraft()) { m->insertItem(i18n("Edit this mail"),this,SLOT(reEditMail())); } m->insertItem(i18n("Reply to this mail"),this,SLOT(replyMail())); - m->insertSeparator(); m->insertItem(i18n("Read this mail"),this,SLOT(displayMail())); + m->insertSeparator(); m->insertItem(i18n("Move/Copy this mail"),this,SLOT(slotMoveCopyMail())); m->insertItem(i18n("Delete this mail"),this,SLOT(slotDeleteMail())); m->insertSeparator(); m->insertItem(i18n("Move/Copy all selected mail"),this,SLOT(slotMoveCopyAllMail())); m->insertItem(i18n("Delete all selected mails"),this,SLOT(slotDeleteAllMail())); + m->insertSeparator(); m->insertItem(i18n("Clear selection"),this,SLOT(clearSelection())); } m->setFocus(); m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y()) ); delete m; } } void OpieMail::slotShowFolders( bool show ) { if ( show && folderView->isHidden() ) { folderView->show(); } else if ( !show && !folderView->isHidden() ) { folderView->hide(); } } void OpieMail::refreshMailView(const QValueList<RecMailP>&list) { MailListViewItem*item = 0; mailView->clear(); QValueList<RecMailP>::ConstIterator it; for (it = list.begin(); it != list.end();++it) { item = new MailListViewItem(mailView,item); item->storeData((*it)); item->showEntry(); } mailView->setSorting ( 4, false ); } void OpieMail::mailLeftClicked( QListViewItem *item ) { mailView->clearSelection(); /* just LEFT button - or tap with stylus on pda */ //if (button!=1) return; if (!item) return; if (folderView->currentisDraft()) { reEditMail(); } else { displayMail(); } } diff --git a/korganizer/kowhatsnextview.cpp b/korganizer/kowhatsnextview.cpp index 57623e6..d7ff9f2 100644 --- a/korganizer/kowhatsnextview.cpp +++ b/korganizer/kowhatsnextview.cpp @@ -567,97 +567,97 @@ bool KOWhatsNextView::appendEvent(Incidence *ev, bool reply, bool notRed, bool a } else tempText +=((Todo*)ev)->dtDueTimeStr(); mTodos.append( ev ); } } } tempText += "</b></td><td>"; bool needClose = false; if ( ev->cancelled() ) { tempText += "<font color=\"#F00000\">[c"; needClose =true; } if ( ev->isAlarmEnabled() ) { if ( !needClose) tempText +="["; tempText += "a"; needClose =true; } if ( ev->description().length() > 0 ) { if ( !needClose) tempText +="["; tempText += "i"; needClose =true; } if ( ev->recurrence()->doesRecur() ) { if ( !needClose) tempText +="["; tempText += "r"; needClose =true; } if ( needClose ) { tempText += "] "; } if ( ev->cancelled() ) tempText += "</font>"; tempText += "<a "; if (ev->type()=="Event") tempText += "href=\"event:"; if (ev->type()=="Todo") tempText += "href=\"todo:"; tempText += ev->uid() + "\">"; if ( ev->summary().length() > 0 ) tempText += ev->summary(); else tempText += i18n("-no summary-"); if ( bDay ) { - noc = ev->getNextOccurence( cdt, &ok ); + noc = ev->getNextOccurence( cdt.addDays(-1), &ok ); if ( ok ) { int years = noc.date().year() - ev->dtStart().date().year(); tempText += i18n(" (%1 y.)"). arg( years ); } } tempText += "</a>"; if ( KOPrefs::instance()->mWNViewShowLocation ) if ( !ev->location().isEmpty() ) tempText += " ("+ev->location() +")"; if ( ev->relatedTo() && KOPrefs::instance()->mWNViewShowsParents) tempText += " ["+ev->relatedTo()->summary() +"]"; tempText += "</td></tr>\n"; mText += tempText; return true; } bool KOWhatsNextView::appendTodo(Incidence *ev, QString ind , bool isSub ) { if ( mTodos.find( ev ) != mTodos.end() ) return false; mTodos.append( ev ); if ( !isSub ) mText += "<p>"; else mText += "<li>"; mText += "[" +QString::number(ev->priority()) + "/" + QString::number(((Todo*)ev)->percentComplete())+"%] "; mText += ind; bool needClose = false; if ( ev->cancelled() ) { mText += "<font color=\"#F00000\">[c"; needClose =true; } if ( ev->isAlarmEnabled() ) { if ( !needClose) mText +="["; mText += "a"; needClose =true; } if ( ev->description().length() > 0 ) { if ( !needClose) mText +="["; mText += "i"; diff --git a/microkde/KDGanttMinimizeSplitter.cpp b/microkde/KDGanttMinimizeSplitter.cpp index 567ae54..84edc0d 100644 --- a/microkde/KDGanttMinimizeSplitter.cpp +++ b/microkde/KDGanttMinimizeSplitter.cpp @@ -121,96 +121,97 @@ void KDGanttSplitterHandle::mouseMoveEvent( QMouseEvent *e ) _collapsed = false; } void KDGanttSplitterHandle::mousePressEvent( QMouseEvent *e ) { if ( e->button() == LeftButton ) { _activeButton = onButton( e->pos() ); mouseOffset = s->pick(e->pos()); if ( _activeButton != 0) repaint(); updateCursor( e->pos() ); } } void KDGanttSplitterHandle::updateCursor( const QPoint& p) { if ( onButton( p ) != 0 ) { setCursor( arrowCursor ); } else { if ( orient == KDGanttMinimizeSplitter::Horizontal ) setCursor( splitHCursor ); else setCursor( splitVCursor ); } } void KDGanttSplitterHandle::toggle() { int pos; int min, max; if ( !_collapsed ) { s->expandPos( id(), &min, &max ); if ( s->minimizeDirection() == KDGanttMinimizeSplitter::Left || s->minimizeDirection() == KDGanttMinimizeSplitter::Up ) { pos = min; } else { pos = max; } _origPos = s->pick(mapToParent( QPoint( 0,0 ) )); s->moveSplitter( pos, id() ); _collapsed = true; } else { s->moveSplitter( _origPos, id() ); _collapsed = false; } + repaint(); } void KDGanttSplitterHandle::mouseReleaseEvent( QMouseEvent *e ) { if ( _activeButton != 0 ) { if ( onButton( e->pos() ) == _activeButton ) { toggle(); } _activeButton = 0; updateCursor( e->pos() ); } else { if ( !opaque() && e->button() == LeftButton ) { QCOORD pos = s->pick(parentWidget()->mapFromGlobal(e->globalPos())) - mouseOffset; s->setRubberband( -1 ); s->moveSplitter( pos, id() ); } } repaint(); } int KDGanttSplitterHandle::onButton( const QPoint& p ) { QValueList<QPointArray> list = buttonRegions(); int index = 1; int add = 12; for( QValueList<QPointArray>::Iterator it = list.begin(); it != list.end(); ++it ) { QRect rect = (*it).boundingRect(); rect.setLeft( rect.left()- add ); rect.setRight( rect.right() + add); rect.setTop( rect.top()- add ); rect.setBottom( rect.bottom() + add); if ( rect.contains( p ) ) { return index; } index++; } return 0; } QValueList<QPointArray> KDGanttSplitterHandle::buttonRegions() { QValueList<QPointArray> list; int sw = 8; @@ -435,96 +436,105 @@ static QSize minSizeHint( const QWidget* w ) KDGanttMinimizeSplitter::KDGanttMinimizeSplitter( QWidget *parent, const char *name ) :QFrame(parent,name,WPaintUnclipped) { mFirstHandle = 0; #if QT_VERSION >= 232 orient = Horizontal; init(); #endif } /*! Constructs a splitter with orientation \a o with the \a parent and \a name arguments being passed on to the QFrame constructor. */ KDGanttMinimizeSplitter::KDGanttMinimizeSplitter( Orientation o, QWidget *parent, const char *name ) :QFrame(parent,name,WPaintUnclipped) { mFirstHandle = 0; #if QT_VERSION >= 232 orient = o; init(); #endif } /*! Destroys the splitter and any children. */ KDGanttMinimizeSplitter::~KDGanttMinimizeSplitter() { #if QT_VERSION >= 232 data->list.setAutoDelete( TRUE ); delete data; #endif } #if QT_VERSION >= 232 void KDGanttMinimizeSplitter::init() { data = new QSplitterData; if ( orient == Horizontal ) setSizePolicy( QSizePolicy(QSizePolicy::Expanding,QSizePolicy::Minimum) ); else setSizePolicy( QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Expanding) ); } #endif +void KDGanttMinimizeSplitter::toggle() +{ + if ( mFirstHandle ) + mFirstHandle->toggle(); + else + qDebug("KDGanttMinimizeSplitter::toggle::sorry, handle not available "); + +} + /*! \brief the orientation of the splitter By default the orientation is horizontal (the widgets are side by side). The possible orientations are Qt:Vertical and Qt::Horizontal (the default). */ void KDGanttMinimizeSplitter::setOrientation( Orientation o ) { #if QT_VERSION >= 232 if ( orient == o ) return; orient = o; if ( orient == Horizontal ) setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); else setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) ); QSplitterLayoutStruct *s = data->list.first(); while ( s ) { if ( s->isSplitter ) ((KDGanttSplitterHandle*)s->wid)->setOrientation( o ); s = data->list.next(); // ### next at end of loop, no iterator } recalc( isVisible() ); #endif } #if QT_VERSION >= 232 /*! \reimp */ void KDGanttMinimizeSplitter::resizeEvent( QResizeEvent * ) { doResize(); } /* Inserts the widget \a w at the end (or at the beginning if \a first is TRUE) of the splitter's list of widgets. It is the responsibility of the caller of this function to make sure that \a w is not already in the splitter and to call recalcId if needed. (If \a first is TRUE, then recalcId is very probably needed.) diff --git a/microkde/KDGanttMinimizeSplitter.h b/microkde/KDGanttMinimizeSplitter.h index 75e0443..8120d14 100644 --- a/microkde/KDGanttMinimizeSplitter.h +++ b/microkde/KDGanttMinimizeSplitter.h @@ -35,96 +35,98 @@ #define KDGANTTMINIMIZESPLITTER_H #ifndef QT_H #include "qframe.h" #include "qvaluelist.h" #endif // QT_H #ifndef QT_NO_SPLITTER___ class QSplitterData; class QSplitterLayoutStruct; class KDGanttSplitterHandle; class KDGanttMinimizeSplitter : public QFrame { Q_OBJECT // Q_ENUMS( Direction ) // Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation ) // Q_PROPERTY( Direction minimizeDirection READ minimizeDirection WRITE setMinimizeDirection ) public: enum ResizeMode { Stretch, KeepSize, FollowSizeHint }; enum Direction { Left, Right, Up, Down }; KDGanttMinimizeSplitter( QWidget* parent=0, const char* name=0 ); KDGanttMinimizeSplitter( Orientation, QWidget* parent=0, const char* name=0 ); ~KDGanttMinimizeSplitter(); virtual void setOrientation( Orientation ); Orientation orientation() const { return orient; } void setMinimizeDirection( Direction ); Direction minimizeDirection() const; #if QT_VERSION >= 232 virtual void setResizeMode( QWidget *w, ResizeMode ); virtual void setOpaqueResize( bool = TRUE ); bool opaqueResize() const; void moveToFirst( QWidget * ); void moveToLast( QWidget * ); void refresh() { recalc( TRUE ); } QSize sizeHint() const; QSize minimumSizeHint() const; QValueList<int> sizes() const; void setSizes( QValueList<int> ); KDGanttSplitterHandle* firstHandle(){ return mFirstHandle;} void expandPos( int id, int* min, int* max ); +public slots: + void toggle(); protected: void childEvent( QChildEvent * ); bool event( QEvent * ); void resizeEvent( QResizeEvent * ); int idAfter( QWidget* ) const; void moveSplitter( QCOORD pos, int id ); virtual void drawSplitter( QPainter*, QCOORD x, QCOORD y, QCOORD w, QCOORD h ); void styleChange( QStyle& ); int adjustPos( int , int ); virtual void setRubberband( int ); void getRange( int id, int*, int* ); private: void init(); void recalc( bool update = FALSE ); void doResize(); void storeSizes(); void processChildEvents(); QSplitterLayoutStruct *addWidget( QWidget*, bool first = FALSE ); void recalcId(); void moveBefore( int pos, int id, bool upLeft ); void moveAfter( int pos, int id, bool upLeft ); void setG( QWidget *w, int p, int s, bool isSplitter = FALSE ); QCOORD pick( const QPoint &p ) const { return orient == Horizontal ? p.x() : p.y(); } QCOORD pick( const QSize &s ) const { return orient == Horizontal ? s.width() : s.height(); } QCOORD trans( const QPoint &p ) const { return orient == Vertical ? p.x() : p.y(); } QCOORD trans( const QSize &s ) const { return orient == Vertical ? s.width() : s.height(); } KDGanttSplitterHandle* mFirstHandle; QSplitterData *data; #endif private: Orientation orient; Direction _direction; #ifndef DOXYGEN_SKIP_INTERNAL friend class KDGanttSplitterHandle; #endif private: // Disabled copy constructor and operator= |