-rw-r--r-- | bin/kdepim/korganizer/featuresKOPI.txt | 3 | ||||
-rw-r--r-- | bin/kdepim/korganizer/germantranslation.txt | 6 | ||||
-rw-r--r-- | korganizer/koagendaview.cpp | 8 | ||||
-rw-r--r-- | korganizer/koviewmanager.cpp | 4 | ||||
-rw-r--r-- | korganizer/koviewmanager.h | 2 | ||||
-rw-r--r-- | korganizer/mainwindow.cpp | 51 | ||||
-rw-r--r-- | korganizer/mainwindow.h | 22 |
7 files changed, 53 insertions, 43 deletions
diff --git a/bin/kdepim/korganizer/featuresKOPI.txt b/bin/kdepim/korganizer/featuresKOPI.txt index 7f4009c..ab6b224 100644 --- a/bin/kdepim/korganizer/featuresKOPI.txt +++ b/bin/kdepim/korganizer/featuresKOPI.txt @@ -186,23 +186,26 @@ If you select in the data navigator a date range from the first of the month to the 28.-31. of the month (the 28.-31. is valid for every month!) then the (month-)navigation keys will select automatically the complete next month as date range. 6) Navigation in agenda view: If you select (as an example) 4 days in the date navigator the (week-) navigation key will select the same 4 days in the next week. If you want to get the next 4 days after the selected 4 days selected, you have to switch the navigation mode to "next days mode" by clicking on the next days icons. Now the next days from today are selected, but after selecting 4 days in the day navigator the (week-) navigation key will select the next 4 days. The "next days mode" is turned off by clicking on the week view, work week view or day view button. +The agenda view has "time labels" on the left, which displays the hours from 0-24. +If you press the mouse on the timelabels and move it up/down you can +increase/decrease the agenda size quickly. diff --git a/bin/kdepim/korganizer/germantranslation.txt b/bin/kdepim/korganizer/germantranslation.txt index 73940c6..35d2812 100644 --- a/bin/kdepim/korganizer/germantranslation.txt +++ b/bin/kdepim/korganizer/germantranslation.txt @@ -62,35 +62,32 @@ { "Anonymous","Anonym" }, { "Apply","Anwenden" }, { "Apr","Apr" }, { "April","April" }, {"Ask for every entry on conflict","Frage bei Konflikten nach"}, { "Ask for preferences before syncing","Vor dem Syncronisieren nachfragen" }, { "Ask for quit when closing KO/Pi","Vor dem Beenden von KO/Pi nachfragen" }, { "Attendees","Teilnehmer" }, { "Aug","Aug" }, { "August","August" }, { "Auto-Save","Automatisches Abspeichern" }, { "Auto save delay in minutes:","Verzög.autom.Speichern in Min" }, { "Auto saving...","Automatische Sicherung..." }, { "Begin on:","Starte mit:" }, { "Begins on: %1","Starte mit: %1" }, { "<b>From:</b> %1 <b>To:</b> %2","<b>Vom:</b> %1 <b>Zum:</b> %2" }, -{ "Bigger","Größer" }, -{ "Biggest","Riesig" }, -{ "Big","Groß" }, { "<b>On:</b> %1","<b>Am:</b> %1" }, { "<b>On:</b> %1 <b>From:S</b> %2 <b>To:</b> %3","<b>Am:</b> %1 <b>Vom:S</b> %2 <b>Zum:</b> %3" }, { "<b>Original event:</b><p>","<b>Original Termin:</b><p>" }, { " - both are modified after last sync"," - beide wurden nach der letzten Syncronisation verändert" }, { "Busy","Belegt" }, { "&Cancel","Abbre&chen" }, { "Cancel","Abbrechen" }, { "Cannot delete To-Do\nwhich has children.","Kann Todo nicht löschen,\n da noch Einträge vorhanden sind" }, { "Can't generate mail:\nNo event selected.","Kann e-Mail nicht erstellen:\nKein Termin ausgewählt." }, { "Categories...","Kategorien..." }, { "Categories","Kategorien" }, { "Category","Kategorie" }, { "Center View","Zentriere Ansicht" }, { "Change","Ändere" }, { "Cinema","Kino" }, { "Click to add a new Todo","Hier klicken, um ein neues Todo anzulegen" }, @@ -393,33 +390,32 @@ { "Template does not contain a valid Event.","Template '%1' enthält keinen gültigen Termin" }, { "Template...","Vorlage..." }, { "This day","Dieser Tag" }, { "This is an experimental feature. ","Dieses Feature ist experimentel" }, { "This item will be\npermanently deleted.","Dieser Eintrag wird\nkomplett gelöscht." }, { "This item will be permanently deleted.", "Dieser Eintrag wird komplett gelöscht." }, { "Thu","Do" }, { "Thursday","Donnerstag" }, { "Time associated","Mit Zeit" }, { "Time bar:","Uhrzeit Zeile:" }, { "Time && Date","Zeit und Datum" }, { "Time Format","Zeit Format" }, { "Time Format(nr):","Zeit Format(Neustart!)" }, { "Date Labels:","Datumsleiste:" }, { "Time: ","Zeit: " }, { "Timezone:","Zeitzone:" }, -{ "Tiny","Sehr klein" }, { "To: ","Bis: " }, { "To:","Bis:" }, { "Today: ","Heute: " }, { "Todo due today color:","Heute fällige To-Do's" }, { "To-do items:","To-Do items:" }, { "Todo overdue color:","Überfällige To-Do's" }, { "Todo","Todo" }, { "To-do view shows completed Todos","To-do Ansicht zeigt erledigte To-dos" }, { "ToDoView:","Todo Ansicht:" }, { "Toggle Alarm","Wechsle Alarm" }, { "Toggle Allday","Umschalten Ganztag" }, { "Tomorrow: ","Morgen: " }, { "Tue","Di" }, { "Tuesday","Dienstag" }, { "Two entries are in conflict, if: ","Zwei Einträge haben einen Konflikt, wenn:" }, { "Unable to find template '%1'.","Kann Vorlage '%1' nicht finden." }, @@ -1182,20 +1178,20 @@ { "Include","Inclusive" }, { "Exclude","Exclusive" }, { "Edit Selection...","Editiere Selektion..." }, { "recurring events","wiederholende Ereignisse" }, { "completed to-dos","erledigte Todos" }, { "events","Ereignisse" }, { "todos","Todos" }, { "journals","Journale" }, { "public","öffentlich" }, { "private","privat" }, { "confidential","vertraulich" }, { "\nhas sub-todos.\nAll completed sub-todos\nwill be deleted as well!","\nhat Unter-Todos.\nAlle erledigten Unter-Todos\nwerden auch gelöscht!" }, { "Yesterday","Gestern" }, { "Day after tomorrow","Übermorgen" }, { "Tomorrow","Morgen" }, { "Day before yesterday","Vorgestern" }, -{ "","" }, +{ "Size %1","Größe %1" }, { "","" }, { "","" }, { "","" }, diff --git a/korganizer/koagendaview.cpp b/korganizer/koagendaview.cpp index 05216a7..f54f7bc 100644 --- a/korganizer/koagendaview.cpp +++ b/korganizer/koagendaview.cpp @@ -203,49 +203,49 @@ void TimeLabels::setAgenda(KOAgenda* agenda) } void TimeLabels::contentsMousePressEvent ( QMouseEvent * e) { mMouseDownY = e->pos().y(); mOrgCap = topLevelWidget()->caption(); } void TimeLabels::contentsMouseMoveEvent ( QMouseEvent * e ) { int diff = mMouseDownY - e->pos().y(); if ( diff < 10 && diff > -10 ) return; int tSize = KOPrefs::instance()->mHourSize + (diff/10) ; if ( tSize < 4 ) tSize = 4; - if ( tSize > 18 ) - tSize = 18; + if ( tSize > 22 ) + tSize = 22; tSize = (tSize-2)/2; topLevelWidget()->setCaption(i18n("New Agendasize: %1").arg(tSize)); } void TimeLabels::contentsMouseReleaseEvent ( QMouseEvent * e ) { topLevelWidget()->setCaption( mOrgCap ); int diff = mMouseDownY - e->pos().y(); if ( diff < 10 && diff > -10 ) return; int tSize = KOPrefs::instance()->mHourSize + (diff/10); if ( tSize < 4 ) tSize = 4; - if ( tSize > 18 ) - tSize = 18; + if ( tSize > 22 ) + tSize = 22; tSize = (tSize/2)*2; if ( tSize == KOPrefs::instance()->mHourSize ) return; KOPrefs::instance()->mHourSize = tSize; emit scaleChanged(); } /** This is called in response to repaint() */ void TimeLabels::paintEvent(QPaintEvent*) { // kdDebug() << "paintevent..." << endl; // this is another hack! // QPainter painter(this); //QString c repaintContents(contentsX(), contentsY(), visibleWidth(), visibleHeight()); diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp index e255b83..94c459b 100644 --- a/korganizer/koviewmanager.cpp +++ b/korganizer/koviewmanager.cpp @@ -169,54 +169,56 @@ void KOViewManager::raiseCurrentView( bool fullScreen ) if ( mCurrentView == mMonthView ) { mMainView->navigatorBar()->show(); hei -= mMainView->navigatorBar()->sizeHint().height(); //mMainView->navigatorBar()->hide(); } else { mMainView->navigatorBar()->hide(); } if ( fullScreen ) { mMainView->leftFrame()->hide(); } else { mMainView->leftFrame()->show(); if ( KOPrefs::instance()->mVerticalScreen ) hei -= mMainView->leftFrame()->height(); else wid -= mMainView->leftFrame()->width(); } - + emit signalFullScreen( !fullScreen ); if ( globalFlagBlockAgenda == 5 ) { globalFlagBlockAgenda = 4; globalFlagBlockAgendaItemPaint = 1; } mMainView->viewStack()->raiseWidget(mCurrentView); if ( globalFlagBlockAgenda == 4 ) { if ( mCurrentView == mAgendaView ) { //globalFlagBlockAgenda =1 ; if ( KOPrefs::instance()->mSetTimeToDayStartAt ) mAgendaView->setStartHour( KOPrefs::instance()->mDayBegins ); else if ( KOPrefs::instance()->mCenterOnCurrentTime ) mAgendaView->setStartHour( QTime::currentTime ().hour() ); qApp->processEvents(); //qDebug("qApp->processEvents() "); globalFlagBlockAgenda = 0; mAgendaView->repaintAgenda(); } globalFlagBlockAgenda = 0; } + emit signalAgendaView( mCurrentView == mAgendaView ); //qDebug("raiseCurrentView ende "); + } void KOViewManager::updateView() { // qDebug("KOViewManager::updateView() "); // if we are updating mTodoView, we get endless recursion if ( mTodoView == mCurrentView ) return; if ( mCurrentView ) mCurrentView->updateView(); } void KOViewManager::updateView(const QDate &start, const QDate &end) { // kdDebug() << "KOViewManager::updateView()" << endl; diff --git a/korganizer/koviewmanager.h b/korganizer/koviewmanager.h index 3c251fb..c8c7a7a 100644 --- a/korganizer/koviewmanager.h +++ b/korganizer/koviewmanager.h @@ -66,32 +66,34 @@ class KOViewManager : public QObject void setDocumentId( const QString & ); void updateView( const QDate &start, const QDate &end ); void raiseCurrentView( bool fullScreen = false ); void addView(KOrg::BaseView *); Incidence *currentSelection(); QDate currentSelectionDate(); KOAgendaView *agendaView() const { return mAgendaView; } signals: void printWNV(); + void signalFullScreen( bool ); + void signalAgendaView( bool ); public slots: void updateView(); void showWhatsNextView(); void showListView(); void showAgendaView( bool fullScreen = false ); void showDayView(); void showWorkWeekView(); void showWeekView(); void showNextXView(); void showMonthView(); void showTodoView(); void showJournalView(); void showTimeSpanView(); private: CalendarView *mMainView; diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp index 877b6f2..145b36c 100644 --- a/korganizer/mainwindow.cpp +++ b/korganizer/mainwindow.cpp @@ -547,84 +547,94 @@ void MainWindow::initActions() connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) ); connect ( selectFilterMenu, SIGNAL( aboutToShow () ), this, SLOT (fillFilterMenu() ) ); // ****************** QAction *action; QIconSet icon; // QPopupMenu *configureMenu= new QPopupMenu( menuBar ); configureToolBarMenu->setCheckable( true ); QString pathString = ""; if ( !p->mToolBarMiniIcons ) { if ( QApplication::desktop()->width() < 480 ) pathString += "icons16/"; } else pathString += "iconsmini/"; configureAgendaMenu->setCheckable( true ); - configureAgendaMenu->insertItem(i18n("Tiny"), 4 ); - configureAgendaMenu->insertItem(i18n("Small"), 6 ); - configureAgendaMenu->insertItem(i18n("Medium"), 8 ); - configureAgendaMenu->insertItem(i18n("Normal"), 10 ); - configureAgendaMenu->insertItem(i18n("Large"), 12 ); - configureAgendaMenu->insertItem(i18n("Big"), 14 ); - configureAgendaMenu->insertItem(i18n("Bigger"), 16 ); - configureAgendaMenu->insertItem(i18n("Biggest"), 18 ); + int iii ; + for ( iii = 1;iii<= 10 ;++iii ){ + configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 ); + } //configureMenu->insertItem( "AgendaSize",configureAgendaMenu ); + connect( configureAgendaMenu, SIGNAL( aboutToShow()), + this, SLOT( showConfigureAgenda( ) ) ); + icon = loadPixmap( pathString + "configure" ); action = new QAction( i18n("Configure"),icon, i18n("Configure..."), 0, this ); action->addTo( actionMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( edit_options() ) ); actionMenu->insertSeparator(); action = new QAction( i18n("Undo Delete"), i18n("Undo Delete..."), 0, this ); action->addTo( actionMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( undo_delete() ) ); actionMenu->insertSeparator(); icon = loadPixmap( pathString + "newevent" ); configureToolBarMenu->insertItem(i18n("Stretched TB"), 5 ); configureToolBarMenu->insertSeparator(); configureToolBarMenu->insertItem(icon, i18n("New Event..."), 10 ); QAction* ne_action = new QAction( i18n("New Event..."), icon, i18n("New Event..."), 0, this ); ne_action->addTo( actionMenu ); connect( ne_action, SIGNAL( activated() ), mView, SLOT( newEvent() ) ); icon = loadPixmap( pathString + "newtodo" ); configureToolBarMenu->insertItem(icon, i18n("New Todo..."), 20 ); QAction* nt_action = new QAction( i18n("New Todo..."), icon, i18n("New Todo..."), 0, this ); nt_action->addTo( actionMenu ); connect( nt_action, SIGNAL( activated() ), mView, SLOT( newTodo() ) ); icon = loadPixmap( pathString + "navi" ); action = new QAction( i18n("Toggle DateNavigator"), icon, i18n("Toggle DateNavigator"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( toggleDateNavigatorWidget() ) ); + mToggleNav = action ; icon = loadPixmap( pathString + "filter" ); action = new QAction( i18n("Toggle FilterView"), icon, i18n("Toggle FilterView"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( toggleFilter() ) ); + mToggleFilter = action; icon = loadPixmap( pathString + "allday" ); action = new QAction( i18n("Toggle Allday"), icon,i18n("Toggle Allday"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( toggleAllDaySize() ) ); + mToggleAllday = action; + + + connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), + mToggleNav, SLOT( setEnabled ( bool ) ) ); + connect( mView->viewManager(), SIGNAL( signalFullScreen( bool ) ), + mToggleFilter, SLOT( setEnabled ( bool ) ) ); + connect( mView->viewManager(), SIGNAL( signalAgendaView( bool ) ), + mToggleAllday, SLOT( setEnabled ( bool ) ) ); viewMenu->insertSeparator(); icon = loadPixmap( pathString + "picker" ); action = new QAction( i18n("Date Picker"), icon, i18n("Date Picker"), 0, this ); action->addTo( viewMenu ); connect( action, SIGNAL( activated() ), mView, SLOT( showDatePicker() ) ); action->addTo( iconToolBar ); viewMenu->insertSeparator(); icon = loadPixmap( pathString + "list" ); configureToolBarMenu->insertItem(icon, i18n("List View"), 30 ); QAction* showlist_action = new QAction( i18n("List View"), icon, i18n("List View"), 0, this ); showlist_action->addTo( viewMenu ); connect( showlist_action, SIGNAL( activated() ), mView->viewManager(), SLOT( showListView() ) ); @@ -1707,50 +1717,45 @@ void MainWindow::setCaptionToDates() QString selDates; selDates = KGlobal::locale()->formatDate(mView->startDate(), true); if (mView->startDate() < mView->endDate() ) selDates += " - " + KGlobal::locale()->formatDate(mView->endDate(), true); else { QString addString; if ( mView->startDate() == QDateTime::currentDateTime().date() ) addString = i18n("Today"); else if ( mView->startDate() == QDateTime::currentDateTime().date().addDays(1) ) addString = i18n("Tomorrow"); if ( !addString.isEmpty() ) selDates = addString+", "+selDates ; } setCaption( i18n("Dates: ") + selDates ); } -// parameter item == 0: reinit +void MainWindow::showConfigureAgenda( ) +{ + int iii; + for ( iii = 1;iii<= 10 ;++iii ){ + configureAgendaMenu->setItemChecked( (iii+1)*2, false ); + } + configureAgendaMenu->setItemChecked( KOPrefs::instance()->mHourSize, true ); +} void MainWindow::configureAgenda( int item ) { - - KOPrefs *p = KOPrefs::instance(); - - int i; - // do not allow 4 for widgets higher than 480 - // if ( QApplication::desktop()->height() > 480 ) { -// if ( item == 4 ) -// item = 6; -// } - for ( i = 4; i <= 18; i= i+2 ) - configureAgendaMenu->setItemChecked( i, false ); - configureAgendaMenu->setItemChecked( item, true ); - if ( p->mHourSize == item ) + if ( KOPrefs::instance()->mHourSize == item ) return; - p->mHourSize=item; + KOPrefs::instance()->mHourSize=item; mView->viewManager()->agendaView()->updateConfig(); } void MainWindow::saveCalendar() { QString fn = KOPrefs::instance()->mLastSaveFile; fn = KFileDialog::getSaveFileName( fn, i18n("Save backup filename"), this ); if ( fn == "" ) return; QFileInfo info; info.setFile( fn ); QString mes; bool createbup = true; if ( info. exists() ) { mes = i18n("Backup file\nalready exists!\nOld backup file from:\n%1\nOverwrite?\n").arg(KGlobal::locale()->formatDateTime(info.lastModified (), true, false )) ; diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h index 96e627e..6de0543 100644 --- a/korganizer/mainwindow.h +++ b/korganizer/mainwindow.h @@ -25,39 +25,39 @@ class KSyncProfile; class QPEToolBar; namespace KCal { class CalendarLocal; } using namespace KCal; class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow( QWidget *parent = 0, const char *name = 0, QString command = ""); ~MainWindow(); bool beamReceiveEnabled(); + static QString defaultFileName(); + static QString syncFileName(); + static QString resourcePath(); public slots: virtual void showMaximized (); void configureAgenda( int ); void recieve( const QCString& msg, const QByteArray& data ); - static QString defaultFileName(); - static QString syncFileName(); - static QString resourcePath(); protected slots: void setCaptionToDates(); void about(); void licence(); void faq(); void usertrans(); void features(); void synchowto(); void kdesynchowto(); void multisynchowto(); void whatsNew(); void keyBindings(); void aboutAutoSaving();; void aboutKnownBugs(); void processIncidenceSelection( Incidence * ); @@ -71,69 +71,71 @@ class MainWindow : public QMainWindow void slotModifiedChanged( bool ); void save(); void configureToolBar( int ); void printSel(); void printCal(); void saveCalendar(); void loadCalendar(); void exportVCalendar(); void fillFilterMenu(); void selectFilter( int ); void exportToPhone( int ); void toggleBeamReceive(); void disableBR(bool); + private slots: + void showConfigureAgenda(); + void getFile( bool ); + void syncFileRequest(); protected: void displayText( QString, QString); - void enableIncidenceActions( bool ); - private slots: - QSocket* piSocket; - QString piFileString; - QTime piTime; - void getFile( bool ); - void syncFileRequest(); private: bool mBRdisabled; #ifndef DESKTOP_VERSION QCopChannel* infrared; #endif QAction* brAction; KSyncManager* mSyncManager; bool mClosed; void saveOnClose(); bool mFlagKeyPressed; bool mBlockAtStartup; QPEToolBar *iconToolBar; void initActions(); void setDefaultPreferences(); void keyPressEvent ( QKeyEvent * ) ; void keyReleaseEvent ( QKeyEvent * ) ; QPopupMenu *configureToolBarMenu; QPopupMenu *selectFilterMenu; QPopupMenu *configureAgendaMenu, *syncMenu; CalendarLocal *mCalendar; CalendarView *mView; QAction *mNewSubTodoAction; QAction *mShowAction; QAction *mEditAction; QAction *mDeleteAction; QAction *mCloneAction; QAction *mMoveAction; QAction *mBeamAction; QAction *mCancelAction; + QAction *mToggleNav; + QAction *mToggleFilter; + QAction *mToggleAllday; + + void closeEvent( QCloseEvent* ce ); SimpleAlarmClient mAlarmClient; QTimer mSaveTimer; //bool mBlockSaveFlag; bool mCalendarModifiedFlag; QPixmap loadPixmap( QString ); }; #endif |