-rw-r--r-- | korganizer/calendarview.cpp | 4 | ||||
-rw-r--r-- | korganizer/kodialogmanager.cpp | 4 | ||||
-rw-r--r-- | korganizer/koprefs.h | 11 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 20 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 1 | ||||
-rw-r--r-- | korganizer/searchdialog.cpp | 47 | ||||
-rw-r--r-- | korganizer/searchdialog.h | 1 |
7 files changed, 74 insertions, 14 deletions
diff --git a/korganizer/calendarview.cpp b/korganizer/calendarview.cpp index 1e83236..beb19d9 100644 --- a/korganizer/calendarview.cpp +++ b/korganizer/calendarview.cpp @@ -1837,41 +1837,45 @@ void CalendarView::readSettings() int x,y,w,h; if ( ! list.isEmpty() ) { x = list[0].toInt(); y = list[1].toInt(); w = list[2].toInt(); h = list[3].toInt(); + KApplication::testCoords( &x,&y,&w,&h ); topLevelWidget()->setGeometry(x,y,w,h); } else { topLevelWidget()->setGeometry( 40 ,40 , 640, 440); } list = config->readListEntry("EditEventLayout"); if ( ! list.isEmpty() ) { x = list[0].toInt(); y = list[1].toInt(); w = list[2].toInt(); h = list[3].toInt(); + KApplication::testCoords( &x,&y,&w,&h ); mEventEditor->setGeometry(x,y,w,h); } list = config->readListEntry("EditTodoLayout"); if ( ! list.isEmpty() ) { x = list[0].toInt(); y = list[1].toInt(); w = list[2].toInt(); h = list[3].toInt(); + KApplication::testCoords( &x,&y,&w,&h ); mTodoEditor->setGeometry(x,y,w,h); } list = config->readListEntry("ViewerLayout"); if ( ! list.isEmpty() ) { x = list[0].toInt(); y = list[1].toInt(); w = list[2].toInt(); h = list[3].toInt(); + KApplication::testCoords( &x,&y,&w,&h ); getEventViewerDialog()->setGeometry(x,y,w,h); } #endif config->setGroup( "Views" ); int dateCount = config->readNumEntry( "ShownDatesCount", 7 ); diff --git a/korganizer/kodialogmanager.cpp b/korganizer/kodialogmanager.cpp index a8652ea..c927b37 100644 --- a/korganizer/kodialogmanager.cpp +++ b/korganizer/kodialogmanager.cpp @@ -37,12 +37,13 @@ #ifndef KORG_NOARCHIVE #include "archivedialog.h" #endif #include "kconfig.h" #include "kodialogmanager.h" +#include <kapplication.h> KODialogManager::KODialogManager( CalendarView *mainView ) : QObject(), mMainView( mainView ) { mOutgoingDialog = 0; mIncomingDialog = 0; @@ -201,12 +202,13 @@ void KODialogManager::showSearchDialog() int x,y,w,h; if ( ! list.isEmpty() ) { x = list[0].toInt(); y = list[1].toInt(); w = list[2].toInt(); h = list[3].toInt(); + KApplication::testCoords( &x,&y,&w,&h ); mSearchDialog->setGeometry(x,y,w,h); } #endif } @@ -214,13 +216,13 @@ void KODialogManager::showSearchDialog() #ifdef DESKTOP_VERSION mSearchDialog->show(); #else mSearchDialog->setMaximumSize( QApplication::desktop()->size()); mSearchDialog->showMaximized(); #endif - mSearchDialog->raise(); + mSearchDialog->raiseAndSelect(); } SearchDialog * KODialogManager::getSearchDialog() { return mSearchDialog; } diff --git a/korganizer/koprefs.h b/korganizer/koprefs.h index 3a07348..cf8dae6 100644 --- a/korganizer/koprefs.h +++ b/korganizer/koprefs.h @@ -29,12 +29,21 @@ class KConfig; class QFont; class QColor; class QStringList; +#define VIEW_WN_VIEW 1 +#define VIEW_NX_VIEW 2 +#define VIEW_J_VIEW 3 +#define VIEW_A_VIEW 4 +#define VIEW_ML_VIEW 5 +#define VIEW_M_VIEW 6 +#define VIEW_L_VIEW 7 +#define VIEW_T_VIEW 8 + class KOPrefs : public KPimPrefs { public: enum { FormatVCalendar, FormatICalendar }; enum { MailClientKMail, MailClientSendmail }; enum { IMIPDummy, IMIPKMail }; @@ -287,12 +296,14 @@ class KOPrefs : public KPimPrefs bool mEVshowCreated; bool mEVshowChanged; bool mWTshowDetails; bool mWTshowCreated; bool mWTshowChanged; + int mCurrentDisplayedView; + private: QDict<QColor> mCategoryColors; QColor mDefaultCategoryColor; QFont mDefaultTimeBarFont; QFont mDefaultViewFont; diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index c442d0b..406e741 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp @@ -224,21 +224,13 @@ void KOViewManager::showNextView() if (mCurrentView == mListView ) goto TODO; // if (mCurrentView == mTodoView ) goto NEXT; NEXT: if ( KOPrefs::instance()->mShowIconNext ) { showWhatsNextView();goto ENTE ;} NEXT_X: if ( KOPrefs::instance()->mShowIconNextDays ) { - globalFlagBlockAgenda = 1; - if ( mCurrentAgendaView != 3 ) - mCurrentAgendaView = -1; - showAgendaView(KOPrefs::instance()->mFullViewMonth); - globalFlagBlockAgenda = 2; - mMainView->dateNavigator()->selectDates( baseCycleDate , - KOPrefs::instance()->mNextXDays ); - mFlagShowNextxDays = true; - mCurrentAgendaView = 3 ; + showNextXView(); goto ENTE ; } JOURNAL: if ( KOPrefs::instance()->mShowIconJournal ) { resetDateSilent( baseCycleDate , 1 ); showJournalView() ;goto ENTE ;} @@ -404,13 +396,13 @@ void KOViewManager::showWhatsNextView() connect(this, SIGNAL( printWNV() ), mWhatsNextView, SLOT( printMe() ) ); } globalFlagBlockAgenda = 1; showView(mWhatsNextView, true ); //mWhatsNextView->updateView(); - + KOPrefs::instance()->mCurrentDisplayedView = VIEW_WN_VIEW; } void KOViewManager::slotprintWNV() { if (!mWhatsNextView) showWhatsNextView(); @@ -450,12 +442,13 @@ void KOViewManager::showListView() mMainView->setBlockShowDates( true ); mMainView->dateNavigator()->selectMonth(); mMainView->setBlockShowDates( false ); } showView(mListView, KOPrefs::instance()->mFullViewTodo); //mFlagShowNextxDays = temp; + KOPrefs::instance()->mCurrentDisplayedView = VIEW_L_VIEW; } void KOViewManager::showAgendaView( bool fullScreen ) { mMainView->dialogManager()->hideSearchDialog(); @@ -515,13 +508,13 @@ void KOViewManager::showAgendaView( bool fullScreen ) mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) ); mAgendaView->readSettings(); mAgendaView->updateConfig(); } showView( mAgendaView, full); - + KOPrefs::instance()->mCurrentDisplayedView = VIEW_A_VIEW; } void KOViewManager::showDayView() { mCurrentAgendaView = mMainView->dateNavigator()->selectedDates().count(); mFlagShowNextxDays = false; @@ -589,12 +582,13 @@ void KOViewManager::showNextXView() showAgendaView(KOPrefs::instance()->mFullViewMonth); globalFlagBlockAgenda = 2; mMainView->dateNavigator()->selectDates( QDate::currentDate(), KOPrefs::instance()->mNextXDays ); mFlagShowNextxDays = true; mCurrentAgendaView = 3 ; + KOPrefs::instance()->mCurrentDisplayedView = VIEW_NX_VIEW; } bool KOViewManager::showsNextDays() { return mFlagShowNextxDays; } void KOViewManager::createMonthView() @@ -673,12 +667,13 @@ void KOViewManager::showMonthViewWeek() else full = true; } mMainView->dateNavigator()->selectWeek(); showView(mMonthView, full ); mMonthView->setKeyBFocus(); + KOPrefs::instance()->mCurrentDisplayedView = VIEW_ML_VIEW ; } void KOViewManager::showMonth( const QDate & date ) { mMainView->dateNavigator()->blockSignals( true ); mMainView->dateNavigator()->selectDate( date ); @@ -703,12 +698,13 @@ void KOViewManager::showMonthView() full = true; } mMainView->dateNavigator()->selectMonth(); showView(mMonthView, full ); mMonthView->setKeyBFocus(); + KOPrefs::instance()->mCurrentDisplayedView = VIEW_M_VIEW ; } void KOViewManager::showTodoView() { //mFlagShowNextxDays = false; @@ -758,12 +754,13 @@ void KOViewManager::showTodoView() mTodoView->restoreLayout(config,"Todo View"); mTodoView->setNavigator( mMainView->dateNavigator() ); } globalFlagBlockAgenda = 1; showView( mTodoView, true ); + KOPrefs::instance()->mCurrentDisplayedView = VIEW_T_VIEW ; } void KOViewManager::showJournalView() { //mFlagShowNextxDays = false; @@ -775,12 +772,13 @@ void KOViewManager::showJournalView() connect(mJournalView, SIGNAL(deleteJournal(Journal *) ), mMainView,SLOT(deleteJournal(Journal *)) ); addView(mJournalView); } showView(mJournalView); mMainView->dateNavigator()->selectDates( 1 ); + KOPrefs::instance()->mCurrentDisplayedView = VIEW_J_VIEW ; } void KOViewManager::showTimeSpanView() { //mFlagShowNextxDays = false; if (!mTimeSpanView) { diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index d98915b..357154e 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -142,12 +142,13 @@ MainWindow::MainWindow( QWidget *parent, const char *name, QString msg) : setIcon(SmallIcon( "ko24" ) ); mBlockAtStartup = true; mFlagKeyPressed = false; setCaption("KO/Pi"); KOPrefs *p = KOPrefs::instance(); KPimGlobalPrefs::instance()->setGlobalConfig(); + p->mCurrentDisplayedView = 0; if ( p->mHourSize > 22 ) p->mHourSize = 22; QMainWindow::ToolBarDock tbd; if ( p->mToolBarHor ) { if ( p->mToolBarUp ) tbd = Bottom; diff --git a/korganizer/searchdialog.cpp b/korganizer/searchdialog.cpp index 341a839..db60383 100644 --- a/korganizer/searchdialog.cpp +++ b/korganizer/searchdialog.cpp @@ -74,13 +74,13 @@ SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) // topFrame); QHBox *incidenceGroup = new QHBox( topFrame ); layout->addWidget(incidenceGroup); mSearchEvent = new QCheckBox(i18n("Events"),incidenceGroup); - mSearchEvent->setChecked(true); + //mSearchEvent->setChecked(true); mSearchTodo = new QCheckBox(i18n("Todos"),incidenceGroup); mSearchJournal = new QCheckBox(i18n("Journals"),incidenceGroup); QHBox *subjectGroup = new QHBox( topFrame ); layout->addWidget(subjectGroup); @@ -126,12 +126,55 @@ SearchDialog::SearchDialog(Calendar *calendar,CalendarView *parent) } SearchDialog::~SearchDialog() { } +void SearchDialog::raiseAndSelect() +{ + + static int currentState = 0; + + if ( !mSearchJournal->isChecked() && !mSearchTodo->isChecked() && !mSearchEvent->isChecked() ) + currentState = 0; + int newState = 0; + if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { + newState = VIEW_J_VIEW; + } + else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { + newState = VIEW_T_VIEW; + } + else { + newState = VIEW_A_VIEW; + } + if ( newState != currentState ) { + if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_J_VIEW ) { + if ( ! mSearchJournal->isChecked() ) { + mSearchJournal->setChecked( true ); + mSearchTodo->setChecked( false ); + mSearchEvent->setChecked( false ); + } + } + else if ( KOPrefs::instance()->mCurrentDisplayedView == VIEW_T_VIEW ) { + if ( ! mSearchTodo->isChecked() ) { + mSearchTodo->setChecked( true ); + mSearchJournal->setChecked( false ); + mSearchEvent->setChecked( false ); + } + } + else { + if ( ! mSearchEvent->isChecked() ) { + mSearchEvent->setChecked( true ); + mSearchJournal->setChecked( false ); + mSearchTodo->setChecked( false ); + } + } + } + currentState = newState; + raise(); +} void SearchDialog::setFocusToList() { listView->resetFocus(); } void SearchDialog::accept() { @@ -198,13 +241,13 @@ void SearchDialog::doSearch() void SearchDialog::updateConfig() { listView->updateConfig(); } void SearchDialog::updateView() { - + //qDebug("SearchDialog::updateView() %d ", isVisible()); QRegExp re; re.setWildcard(true); // most people understand these better. re.setCaseSensitive(false); re.setPattern(searchEdit->text()); if (re.isValid()) { search(re); diff --git a/korganizer/searchdialog.h b/korganizer/searchdialog.h index b730ed5..4559d20 100644 --- a/korganizer/searchdialog.h +++ b/korganizer/searchdialog.h @@ -46,12 +46,13 @@ class SearchDialog : public QVBox Q_OBJECT public: SearchDialog(Calendar *calendar,CalendarView *parent=0); virtual ~SearchDialog(); KOListView *listview(){ return listView;} void updateView(); + void raiseAndSelect(); public slots: void changeEventDisplay(Event *, int) { updateView(); } void updateConfig(); void updateList(); protected slots: |