summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--bin/kdepim/WhatsNew.txt7
-rw-r--r--bin/kdepim/korganizer/featuresKOPI.txt27
-rw-r--r--korganizer/komonthview.cpp33
-rw-r--r--korganizer/komonthview.h2
-rw-r--r--korganizer/koviewmanager.cpp4
5 files changed, 43 insertions, 30 deletions
diff --git a/bin/kdepim/WhatsNew.txt b/bin/kdepim/WhatsNew.txt
index 4f8fcc7..ac70a55 100644
--- a/bin/kdepim/WhatsNew.txt
+++ b/bin/kdepim/WhatsNew.txt
@@ -5,15 +5,16 @@ Info about the changes in new versions of KDE-Pim/Pi
KO/Pi:
Fixed the layout problem of the day label buttons
of the agenda view introduced in version 2.0.1.
Added WhatsThis support for the todo view and the list view.
-Added a quite useful and quite hidden feature (to KO/Pi).
-Who does find it first?
-Hint: You have to click somewhere in the views ...
+Added a quite useful feature to the montview.
+Just click on the week numbers on the left.
+And on top of the week numbers there is now a "week view quick selector".
+(Click on the black triangle).
********** VERSION 2.0.1 ************
Oooops ... I forgot to test on the Zaurus 5500 ...
diff --git a/bin/kdepim/korganizer/featuresKOPI.txt b/bin/kdepim/korganizer/featuresKOPI.txt
index 052680e..c056dca 100644
--- a/bin/kdepim/korganizer/featuresKOPI.txt
+++ b/bin/kdepim/korganizer/featuresKOPI.txt
@@ -137,17 +137,16 @@ you will get a detailed display of the items content.
B) Useful features, that are not straighforward to see
******************************************************
1) Right mouse click on Zaurus
2) Moving of items in the agenda view
3) Creating exceptions for recurring events
-4) Accessing the week in agenda view from the Month view
-5) Navigation in month view
-6) Navigation in agenda view
-7) Monthview as week view
-8) Switching display mode in date edit
+4) Navigation in month view
+5) Navigation in agenda view
+6) Monthview as week view
+7) Switching display mode in date edit
1)
Right mouse click on Zaurus:
In KO/Pi on the desktop a right mouse click will popup an menu on some items.
On the Zaurus there can only the stylus be used.
To simulte a right mouse click with the stylus press is and hold it down
@@ -173,17 +172,12 @@ move this event in the agenda view.
This recurrence is automatically added to the list
of recurrence exceptions and a non-recurring clone is created.
To cancel a single recurrence, create an exception by moving it
and then move it back and cancel it.
4)
-Accessing the week in agenda view from the month view:
-In the month view there are on the left week numbers displayed.
-Click on a week number to see this week in the agenda view.
-
-5)
Navigation in month view:
If you select the month view with the icon in the toolbar,
the selected data range in the date navigator
is set automatically to the complete month.
(Click on month view and then the space bar to see the
selected data range in the date navigator).
@@ -191,13 +185,13 @@ If you select in the data navigator
(automatically by clicking on the month view or manually)
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)
+5)
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.
@@ -215,20 +209,21 @@ If you click in single day mode the day label you will switch back to
the previously selected date range.
Right of the day labels is a ">" button.
If you click this button, you will go one day ahead.
Left of the day labels is the month name displayed.
If you click this button, the month view is shown.
-7)
+6)
Monthview as week view:
On the left side of the monthview are the week number labels displayed.
-On top of these labels is a "W" displayed.
-If you click on this button the month view mode will switch to week view mode.
-To switch back, please click the button, which now displays a "M".
+If you click on these labels, the month view will show this week zoomed.
+To go back to monthly view click the left label again.
+You can quickly select a week number by clicking the black triangle
+on top of the week number labels.
-8)
+7)
Switching display mode in date edit:
On several places is a date edit used.
You can scroll the dates by selecting the part of the date (month, day, year)
in the lineedit and pressing the key up/key down key.
The display mode of a date edit is initially short date mode.
(I.e. weekday names are not displayed)
diff --git a/korganizer/komonthview.cpp b/korganizer/komonthview.cpp
index 00b1e92..f2cfb75 100644
--- a/korganizer/komonthview.cpp
+++ b/korganizer/komonthview.cpp
@@ -795,23 +795,28 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
bfont.setBold( false );
mWeekLabels.resize( mNumWeeks+1 );
for( i = 0; i < mNumWeeks+1; i++ ) {
KOWeekButton *label = new KOWeekButton( this );
label->setFont(bfont);
- connect( label, SIGNAL( selectWeekNum ( int )),this, SIGNAL( selectWeekNum ( int )) );
+ connect( label, SIGNAL( selectWeekNum ( int )),this, SLOT( selectInternalWeekNum ( int )) );
label->setFlat(true);
- QWhatsThis::add(label,i18n("Click on the week number to\nshow week in agenda view"));
+ QWhatsThis::add(label,i18n("Click on the week number to\nshow week zoomed"));
//label->setFrameStyle(QFrame::Panel|QFrame::Raised);
//label->setLineWidth(1);
//label->setAlignment(AlignCenter);
mWeekLabels.insert( i, label );
}
- mWeekLabels[mNumWeeks]->setText( i18n("W"));
- QWhatsThis::add(mWeekLabels[mNumWeeks],i18n("Click on this to\nswitch to week mode view"));
+ mWeekLabels[mNumWeeks]->setText( i18n(""));
+ QWhatsThis::add(mWeekLabels[mNumWeeks],i18n("Click on this to\nselect week number"));
int row, col;
+ QPopupMenu * wpo = new QPopupMenu (this);
+ wpo->insertItem( i18n("W#"), 0 );
+ for ( i = 1; i < 54; i++ )
+ wpo->insertItem( i18n("%1").arg(i), i );
+ mWeekLabels[mNumWeeks]->setPopup( wpo );
mCells.resize( mNumCells );
for( row = 0; row < mNumWeeks; ++row ) {
for( col = 0; col < mDaysPerWeek; ++col ) {
MonthViewCell *cell = new MonthViewCell( this );
mCells.insert( row * mDaysPerWeek + col, cell );
@@ -821,31 +826,41 @@ KOMonthView::KOMonthView(Calendar *calendar, QWidget *parent, const char *name)
SIGNAL( newEventSignal( QDateTime ) ) );
connect( cell, SIGNAL( showDaySignal( QDate ) ),
SIGNAL( showDaySignal( QDate ) ) );
}
}
- connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ),
- SLOT( switchView() ) );
+ //connect( mWeekLabels[mNumWeeks], SIGNAL( clicked() ), SLOT( switchView() ) );
+ connect( wpo, SIGNAL( activated(int) ), SIGNAL( selectWeekNum ( int ) ) );
mContextMenu = eventPopup();
// updateConfig(); //useless here
emit incidenceSelected( 0 );
}
KOMonthView::~KOMonthView()
{
delete mContextMenu;
}
+void KOMonthView::selectDateWeekNum ( int )
+{
+
+}
+void KOMonthView::selectInternalWeekNum ( int n )
+{
+ emit selectWeekNum ( n );
+ switchView();
+}
+
void KOMonthView::switchView()
{
if ( selectedCell( ) )
selectedCell()->deselect();
mShowWeekView = !mShowWeekView;
KOPrefs::instance()->mMonthViewWeek = mShowWeekView;
- emit showNavigator( !mShowWeekView );
+ //emit showNavigator( !mShowWeekView );
computeLayout();
updateConfig();
}
int KOMonthView::maxDatesHint()
{
@@ -1219,13 +1234,13 @@ void KOMonthView::computeLayoutWeek()
// qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height());
//qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height());
mShortDayLabels = mDayLabels[0]->width() < mWidthLongDayLabel ;
updateDayLabels();
bool forceUpdate = !updatePossible;
updatePossible = true;
- mWeekLabels[mNumWeeks]->setText( i18n("M"));
+ //mWeekLabels[mNumWeeks]->setText( i18n("M"));
if ( forceUpdate )
updateView();
}
void KOMonthView::computeLayout()
{
// select the appropriate heading string size. E.g. "Wednesday" or "Wed".
@@ -1328,13 +1343,13 @@ void KOMonthView::computeLayout()
// qDebug("RRRRRRRRRRRRR %d %d old %d %d", e->size().width(),e->size().height() , e->oldSize().width(),e->oldSize().height());
//qDebug("parent %d %d ", topLevelWidget()->size().width(), topLevelWidget()->size().height());
mShortDayLabels = mDayLabels[0]->width() < mWidthLongDayLabel ;
updateDayLabels();
bool forceUpdate = !updatePossible;
updatePossible = true;
- mWeekLabels[mNumWeeks]->setText( i18n("W"));
+ //mWeekLabels[mNumWeeks]->setText( i18n("W"));
if ( forceUpdate )
updateView();
}
void KOMonthView::showContextMenu( Incidence *incidence )
{
diff --git a/korganizer/komonthview.h b/korganizer/komonthview.h
index 0bc3743..1ed200b 100644
--- a/korganizer/komonthview.h
+++ b/korganizer/komonthview.h
@@ -237,12 +237,14 @@ class KOMonthView: public KOEventView
void showContextMenu( Incidence * );
void setSelectedCell( MonthViewCell * );
protected slots:
+ void selectDateWeekNum ( int );
+ void selectInternalWeekNum ( int );
void switchView();
void processSelectionChange();
signals:
void nextMonth();
void prevMonth();
void showNavigator( bool );
diff --git a/korganizer/koviewmanager.cpp b/korganizer/koviewmanager.cpp
index 8aa0697..ca3de59 100644
--- a/korganizer/koviewmanager.cpp
+++ b/korganizer/koviewmanager.cpp
@@ -219,13 +219,13 @@ void KOViewManager::showView(KOrg::BaseView *view, bool fullScreen )
void KOViewManager::raiseCurrentView( bool fullScreen, bool callUpdateView )
{
mCurrentAgendaView = 0;
int wid = mMainView->width() ;
int hei = mMainView->height();
if ( mCurrentView == mMonthView ) {
- if ( !KOPrefs::instance()->mMonthViewWeek ) {
+ if ( true /* !KOPrefs::instance()->mMonthViewWeek*/ ) {
mMainView->navigatorBar()->show();
hei -= mMainView->navigatorBar()->sizeHint().height();
}
//mMainView->navigatorBar()->hide();
} else {
mMainView->navigatorBar()->hide();
@@ -515,13 +515,13 @@ void KOViewManager::showMonthView()
connect( mMonthView, SIGNAL( moveIncidenceSignal( Incidence * ) ),
mMainView, SLOT ( moveIncidence( Incidence * ) ) );
connect( mMonthView, SIGNAL( beamIncidenceSignal( Incidence * ) ),
mMainView, SLOT ( beamIncidence( Incidence * ) ) );
connect( mMonthView, SIGNAL( selectWeekNum( int ) ),
- mMainView, SLOT ( selectWeekNum( int ) ) );
+ mMainView->dateNavigator(), SLOT ( selectWeek( int ) ) );
connect( mMonthView, SIGNAL( showDaySignal( QDate ) ),
mMainView, SLOT ( showDay( QDate ) ) );
connect(mMainView, SIGNAL(configChanged()), mMonthView, SLOT(updateConfig()));
connect( mMonthView, SIGNAL(nextMonth() ),
mMainView->navigatorBar(), SIGNAL(goNextMonth() ) );
connect( mMonthView, SIGNAL(prevMonth() ),