summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/mainwindow.cpp67
-rw-r--r--korganizer/mainwindow.h4
-rw-r--r--libkdepim/kcmconfigs/kdepimconfigwidget.cpp13
3 files changed, 71 insertions, 13 deletions
diff --git a/korganizer/mainwindow.cpp b/korganizer/mainwindow.cpp
index 6ddced0..ae03a09 100644
--- a/korganizer/mainwindow.cpp
+++ b/korganizer/mainwindow.cpp
@@ -635,48 +635,60 @@ void MainWindow::initActions()
menuBar->insertItem( i18n("View"), viewMenu );
menuBar->insertItem( i18n("Actions"), actionMenu );
menuBar->insertItem( i18n("Synchronize"), syncMenu );
menuBar->insertItem( i18n("AgendaSize"),configureAgendaMenu );
menuBar->insertItem( i18n("Toolbar"),configureToolBarMenu );
menuBar->insertItem( i18n("Filter"),selectFilterMenu );
menuBar->insertItem( i18n("Help"), helpMenu );
//menuBar1->setMaximumWidth( menuBar1->sizeHint().width() );
menuBar1->setMaximumSize( menuBar1->sizeHint( ));
}
connect ( selectFilterMenu, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
connect ( selectFilterMenu, SIGNAL( aboutToShow() ), this, SLOT (fillFilterMenu() ) );
+
+
mWeekBgColor = iconToolBar->backgroundColor();
mWeekPixmap.resize( pixWid , pixHei );
mWeekPixmap.fill( mWeekBgColor );
icon = mWeekPixmap;
mWeekAction = new QAction( i18n("Select week number"),icon, i18n("Select week number"), 0, this );
if ( p-> mShowIconWeekNum )
mWeekAction->addTo( iconToolBar );
mWeekFont = font();
int fontPoint = mWeekFont.pointSize();
QFontMetrics f( mWeekFont );
int fontWid = f.width( "30" );
while ( fontWid > pixWid ) {
--fontPoint;
mWeekFont.setPointSize( fontPoint );
QFontMetrics f( mWeekFont );
fontWid = f.width( "30" );
//qDebug("dec-- ");
}
connect( mWeekAction, SIGNAL( activated() ),
this, SLOT( weekAction() ) );
connect( this, SIGNAL( selectWeek ( int ) ), mView->dateNavigator(), SLOT( selectWeek ( int ) ) );
+ if ( p->mShowIconFilterview ) {
+ icon = loadPixmap( pathString + "filter" );
+ actionFilterMenuTB = new QAction( i18n("Filter selector"), icon, i18n("Filter selector"), 0, this );
+ connect( actionFilterMenuTB, SIGNAL( activated() ),
+ this, SLOT( fillFilterMenuTB() ) );
+ actionFilterMenuTB->addTo( iconToolBar );
+ selectFilterMenuTB = new QPopupMenu( this );
+ selectFilterMenuTB->setCheckable( true );
+ connect ( selectFilterMenuTB, SIGNAL( activated ( int ) ), this, SLOT (selectFilter( int ) ) );
+ }
//#endif
// ******************
QAction *action;
// QPopupMenu *configureMenu= new QPopupMenu( menuBar );
configureToolBarMenu->setCheckable( true );
configureAgendaMenu->setCheckable( true );
int iii ;
for ( iii = 1;iii<= 10 ;++iii ){
configureAgendaMenu->insertItem(i18n("Size %1").arg(iii), (iii+1)*2 );
@@ -769,33 +781,25 @@ void MainWindow::initActions()
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();
if ( p-> mShowIconToggleFull )
FSaction->addTo( iconToolBar );
if ( p->mShowIconNavigator ) mToggleNav ->addTo( iconToolBar );
- if ( p->mShowIconFilterview ) {
- icon = loadPixmap( pathString + "filter" );
- QPEMenuBar *menuBar111 = new QPEMenuBar( iconToolBar );
- menuBar111->insertItem( icon.pixmap(), selectFilterMenu);
- int isi = 24;
- if ( QApplication::desktop()->width() < 480 )
- isi = 18;
- menuBar111->setFixedSize( QSize( isi, isi )) ;
- }
+
//********************
if ( p->mShowIconAllday ) mToggleAllday->addTo( iconToolBar );
icon = loadPixmap( pathString + "whatsnext" );
configureToolBarMenu->insertItem(icon, i18n("What's Next"), 110 );
QAction* whatsnext_action = new QAction( i18n("What's Next"), icon, i18n("What's Next"), 0, this );
whatsnext_action->addTo( viewMenu );
connect( whatsnext_action, SIGNAL( activated() ),
mView->viewManager(), SLOT( showWhatsNextView() ) );
icon = loadPixmap( pathString + "xdays" );
@@ -1954,25 +1958,69 @@ void MainWindow::keyPressEvent ( QKeyEvent * e )
default:
e->ignore();
}
if ( pro > 0 ) {
mView->selectFilter( pro-1 );
}
if ( showSelectedDates ) {
;// setCaptionToDates();
}
}
+void MainWindow::fillFilterMenuTB()
+{
+ selectFilterMenuTB->clear();
+ selectFilterMenuTB->insertItem(i18n ( "Edit Filters" ), 0 );
+ selectFilterMenuTB->insertSeparator();
+ selectFilterMenuTB->insertItem(i18n ( "No Filter" ), 1 );
+
+ selectFilterMenuTB->insertSeparator();
+ QPtrList<CalFilter> fili = mView->filters();
+ CalFilter *curfilter = mView->filterView()->selectedFilter();
+ CalFilter *filter = fili.first();
+ int iii = 2;
+ bool checkitem = mView->filterView()->filtersEnabled();
+ while(filter) {
+ selectFilterMenuTB->insertItem( filter->name(), iii );
+ if ( filter == curfilter)
+ selectFilterMenuTB->setItemChecked( iii, checkitem );
+ filter = fili.next();
+ ++iii;
+ }
+ if ( !checkitem )
+ selectFilterMenuTB->setItemChecked( 1, true );
+ int x = 0;
+ int y = iconToolBar->height();
+ int dX = 0;
+ int dY = 0;
+ if ( iconToolBar->orientation () == Qt:: Horizontal ) {
+ if ( iconToolBar->y() > height()/2 ) {
+ dY = selectFilterMenuTB->sizeHint().height()+8;
+ y = 0;
+ }
+ } else {
+ if ( iconToolBar->x() > width()/2 ) { // right side
+ x=0;
+ dX= selectFilterMenuTB->sizeHint().width()+8;
+ y = 0;
+ } else {
+ x= iconToolBar->width();
+ y = 0;
+ }
+ }
+ //qDebug("dax %d dy %d %d %d ", dX, dY, iconToolBar->x(), iconToolBar->y() );
+ selectFilterMenuTB->popup(iconToolBar->mapToGlobal(QPoint(x,y)-QPoint( dX,dY)));
+}
void MainWindow::fillFilterMenu()
{
selectFilterMenu->clear();
selectFilterMenu->insertItem(i18n ( "Edit Filters" ), 0 );
selectFilterMenu->insertSeparator();
selectFilterMenu->insertItem(i18n ( "No Filter" ), 1 );
selectFilterMenu->insertSeparator();
QPtrList<CalFilter> fili = mView->filters();
CalFilter *curfilter = mView->filterView()->selectedFilter();
CalFilter *filter = fili.first();
int iii = 2;
@@ -2302,24 +2350,25 @@ void MainWindow::printSel( )
{
mView->viewManager()->agendaView()->agenda()->printSelection();
}
void MainWindow::printCal()
{
mView->print();//mCp->showDialog();
}
#include "libkdepim/kdatepicker.h"
#include <kdatetbl.h>
+
void MainWindow::weekAction()
{
int month;
KPopupFrame* popup = new KPopupFrame(this);
KDateInternalWeekPicker* picker = new KDateInternalWeekPicker(popup);
// -----
picker->resize(picker->sizeHint());
popup->setMainWidget(picker);
picker->setFocus();
connect(picker, SIGNAL(closeMe(int)), popup, SLOT(close(int)));
int x = 0;
int y = iconToolBar->height();
diff --git a/korganizer/mainwindow.h b/korganizer/mainwindow.h
index 79fb305..7c16aeb 100644
--- a/korganizer/mainwindow.h
+++ b/korganizer/mainwindow.h
@@ -85,24 +85,25 @@ class MainWindow : public QMainWindow
void slotModifiedChanged( bool );
void save();
void saveStopTimer();
void configureToolBar( int );
void printSel();
void printCal();
void saveCalendar();
void loadCalendar();
void exportVCalendar();
void fillFilterMenu();
+ void fillFilterMenuTB();
void selectFilter( int );
void fillFilterMenuPopup();
void selectFilterPopup( int );
void exportToPhone( int );
void toggleBeamReceive();
void disableBR(bool);
signals:
void selectWeek ( int );
private slots:
void showConfigureAgenda();
void getFile( bool );
void syncFileRequest();
@@ -127,44 +128,45 @@ class MainWindow : public QMainWindow
QPEToolBar *iconToolBar;
QPEToolBar *viewToolBar;
QPEToolBar *navigatorToolBar;
QPEToolBar *filterToolBar;
QPEMenuBar *filterMenubar;
QPopupMenu * filterPopupMenu;
void initActions();
void setDefaultPreferences();
void keyPressEvent ( QKeyEvent * ) ;
void keyReleaseEvent ( QKeyEvent * ) ;
QPopupMenu *configureToolBarMenu;
QPopupMenu *selectFilterMenu;
+ QPopupMenu *selectFilterMenuTB;
QPopupMenu *configureAgendaMenu, *syncMenu;
CalendarLocal *mCalendar;
CalendarView *mView;
QAction *mNewSubTodoAction;
QAction *mWeekAction;
QFont mWeekFont;
QPixmap mWeekPixmap;
QColor mWeekBgColor;
QAction *mShowAction;
QAction *mEditAction;
QAction *mDeleteAction;
QAction *mCloneAction;
QAction *mMoveAction;
QAction *mBeamAction;
QAction *mCancelAction;
QAction *mToggleNav;
QAction *mToggleFilter;
QAction *mToggleAllday;
-
+ QAction *actionFilterMenuTB;
void closeEvent( QCloseEvent* ce );
SimpleAlarmClient mAlarmClient;
QTimer mSaveTimer;
//bool mBlockSaveFlag;
bool mCalendarModifiedFlag;
QPixmap loadPixmap( QString );
};
#endif
diff --git a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
index bbed38d..5cd845e 100644
--- a/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
+++ b/libkdepim/kcmconfigs/kdepimconfigwidget.cpp
@@ -134,28 +134,35 @@ void KDEPIMConfigWidget::setupStoreTab()
new QLabel( i18n("<b>New settings are used\nafter a restart</b>"), storePage );
new QLabel( i18n("Settings are stored in\n%1").arg(QDir::homeDirPath() + "/.microkdehome" ), storePage );
tabWidget->addTab( storePage, i18n( "Data storage path" ) );
}
void KDEPIMConfigWidget::setStandardStore()
{
mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" );
saveStoreSettings();
}
void KDEPIMConfigWidget::saveStoreSettings()
{
if ( !mStoreUrl->url().isEmpty() ) {
- KConfig cfg ( QDir::homeDirPath() + "/.microkdehome" );
+ QString path = QDir::homeDirPath();
+ QString url = mStoreUrl->url();
+#ifdef DESKTOP_VERSION
+ if ( url.startsWith( "LOCAL:" ) ) {
+ path = qApp->applicationDirPath () ;
+ }
+#endif
+ KConfig cfg ( path + "/.microkdehome" );
cfg.setGroup("Global");
- cfg.writeEntry( "MICROKDEHOME", mStoreUrl->url() );
- qDebug("cfg.writeEntry( MICROKDEHOME, mStoreUrl->url() ); ");
+ cfg.writeEntry( "MICROKDEHOME", url );
+ qDebug("cfg.writeEntry( MICROKDEHOME, %s ", url.latin1());
cfg.sync();
} else {
mStoreUrl->setURL( QDir::homeDirPath() + "/kdepim" );
saveStoreSettings();
}
}
void KDEPIMConfigWidget::setupExternalAppTab()
{
QWidget *externalAppsPage = new QWidget( this );
QVBoxLayout* layout = new QVBoxLayout( externalAppsPage, KDialog::marginHintSmall(),
KDialog::spacingHintSmall() );