Diffstat (limited to 'noncore/apps/confedit/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/confedit/mainwindow.cpp | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/noncore/apps/confedit/mainwindow.cpp b/noncore/apps/confedit/mainwindow.cpp index 47d9518..77b91f6 100644 --- a/noncore/apps/confedit/mainwindow.cpp +++ b/noncore/apps/confedit/mainwindow.cpp @@ -40,5 +40,2 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : - popupTimer = new QTimer(this); - popupMenu = new QPopupMenu(this); - QWidget *mainWidget = new QWidget(this); @@ -60,6 +57,2 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) : - connect( popupTimer, SIGNAL(timeout()), - this, SLOT(showPopup()) ); - connect( settingList, SIGNAL( clicked( QListViewItem* ) ), - this, SLOT( stopTimer( QListViewItem* ) ) ); @@ -78,2 +71,18 @@ void MainWindow::makeMenu() + popupTimer = new QTimer(this); + popupMenuFile = new QPopupMenu(this); + + popupActionSave = new QAction( tr("Save"),QString::null, 0, this, 0 ); + popupActionSave->addTo( popupMenuFile ); + connect( popupActionSave, SIGNAL( activated() ), + this , SLOT( saveConfFile() ) ); + popupActionRevert = new QAction( tr("Revert"),QString::null, 0, this, 0 ); + popupActionRevert->addTo( popupMenuFile ); + connect( popupActionRevert, SIGNAL( activated() ), + this , SLOT( revertConfFile() ) ); + + connect( popupTimer, SIGNAL(timeout()), + this, SLOT(showPopup()) ); + connect( settingList, SIGNAL( clicked( QListViewItem* ) ), + this, SLOT( stopTimer( QListViewItem* ) ) ); } @@ -153,16 +162,20 @@ void MainWindow::saveConfFile() -void MainWindow::showPopup() +void MainWindow::revertConfFile() { - qDebug("showPopup"); if (!_fileItem) return; - popupMenu->clear(); - - QAction *popupAction; - popupAction = new QAction( tr("Save"),QString::null, 0, this, 0 ); - popupAction->addTo( popupMenu ); - connect( popupAction, SIGNAL( activated() ), - this , SLOT( saveConfFile() ) ); + _fileItem->revert(); +} +void MainWindow::showPopup() +{ + qDebug("showPopup"); + if (_fileItem) + { + popupActionSave->setEnabled(_fileItem->isChanged()); + popupActionRevert->setEnabled(_fileItem->revertable()); + popupMenuFile->popup( QCursor::pos() ); + }else if(_currentItem->isChanged()) + { - popupMenu->popup( QCursor::pos() ); + } } |