summaryrefslogtreecommitdiff
path: root/noncore/apps/confedit/mainwindow.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/confedit/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/confedit/mainwindow.cpp47
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
@@ -39,7 +39,4 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
setCaption( tr("Conf File Editor") );
- popupTimer = new QTimer(this);
- popupMenu = new QPopupMenu(this);
-
QWidget *mainWidget = new QWidget(this);
setCentralWidget( mainWidget);
@@ -59,8 +56,4 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f ) :
this, SLOT(setCurrent(QListViewItem*)));
- connect( popupTimer, SIGNAL(timeout()),
- this, SLOT(showPopup()) );
- connect( settingList, SIGNAL( clicked( QListViewItem* ) ),
- this, SLOT( stopTimer( QListViewItem* ) ) );
connect( editor->LineEditGroup, SIGNAL( textChanged(const QString&) ),
@@ -77,4 +70,20 @@ 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* ) ) );
}
@@ -152,17 +161,21 @@ void MainWindow::saveConfFile()
}
+void MainWindow::revertConfFile()
+{
+ if (!_fileItem) return;
+ _fileItem->revert();
+}
+
void MainWindow::showPopup()
{
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() ) );
-
+ if (_fileItem)
+ {
+ popupActionSave->setEnabled(_fileItem->isChanged());
+ popupActionRevert->setEnabled(_fileItem->revertable());
+ popupMenuFile->popup( QCursor::pos() );
+ }else if(_currentItem->isChanged())
+ {
- popupMenu->popup( QCursor::pos() );
+ }
}