Modified Reset menu action behaviour.
authorJanusz Sobczak <janusz.sobczak@gmail.com>
Thu, 20 May 2010 12:37:31 +0000 (14:37 +0200)
committerJanusz Sobczak <janusz.sobczak@gmail.com>
Thu, 20 May 2010 12:37:31 +0000 (14:37 +0200)
Enable 'Reset secret notes' menu action only if user
has not supplied correct password.
'Undo reset' menu action has been removed.

Signed-off-by: Janusz Sobczak <janusz.sobczak@gmail.com>

src/mainwindow.cpp
src/mainwindow.h
src/mainwindow.ui

index 835bde2..9d8a7c9 100644 (file)
@@ -37,10 +37,11 @@ MainWindow::MainWindow(QWidget *parent) :
     hasReadFile(false)
 {
     ui->setupUi(this);
     hasReadFile(false)
 {
     ui->setupUi(this);
+
+    resetAction = ui->menuOptions->addAction(tr("Reset secret notes"));
+    connect(resetAction, SIGNAL(triggered()), this, SLOT(on_actionReset_secret_notes_triggered()));
+
     enableTextEdit(false);
     enableTextEdit(false);
-    undoResetAction = ui->menuOptions->addAction(tr("Undo reset"));
-    connect(undoResetAction, SIGNAL(triggered()),this, SLOT(undoReset()));
-    enableUndoReset(false);
 
     undoEditAction = ui->menuOptions->addAction(tr("Undo edit"));
     connect(undoEditAction,SIGNAL(triggered()), this, SLOT(undoEdit()));
 
     undoEditAction = ui->menuOptions->addAction(tr("Undo edit"));
     connect(undoEditAction,SIGNAL(triggered()), this, SLOT(undoEdit()));
@@ -64,7 +65,6 @@ MainWindow::MainWindow(QWidget *parent) :
 MainWindow::~MainWindow()
 {
     plaintext.fill(0);
 MainWindow::~MainWindow()
 {
     plaintext.fill(0);
-    undoText.fill(0);
     delete ui;
     if (password)
         memset(password,0,passLength);
     delete ui;
     if (password)
         memset(password,0,passLength);
@@ -287,14 +287,8 @@ void MainWindow::on_actionReset_secret_notes_triggered()
     if (password)
         memset(password, 0, passLength);
     delete[] password;
     if (password)
         memset(password, 0, passLength);
     delete[] password;
-    password = NULL;    
-    if (plaintext.length() > 0) {
-        undoText.fill(0);
-        undoText = plaintext;
-    }
+    password = NULL;
 
 
-    if (undoText.length() > 0)
-        enableUndoReset(true);
     ui->textEdit->clear();
     enableTextEdit(true);
     askNewPassword();
     ui->textEdit->clear();
     enableTextEdit(true);
     askNewPassword();
@@ -338,23 +332,9 @@ void MainWindow::enableTextEdit(bool ena)
     if (!ena) {
         ui->textEdit->setPlainText(tr("Secret Notes disabled"));
     }
     if (!ena) {
         ui->textEdit->setPlainText(tr("Secret Notes disabled"));
     }
+    enableResetAction(!ena);
 }
 
 }
 
-void MainWindow::enableUndoReset(bool ena)
-{
-    undoResetAction->setVisible(ena);
-}
-
-void MainWindow::undoReset()
-{
-    plaintext.fill(0);
-    plaintext = undoText;
-    undoText.fill(0);
-    undoText = "";
-    ui->textEdit->setPlainText(plaintext);
-    enableUndoReset(false);
-    enableTextEdit(true);
-}
 
 void MainWindow::undoEdit()
 {
 
 void MainWindow::undoEdit()
 {
@@ -365,3 +345,8 @@ void MainWindow::on_textEdit_undoAvailable(bool b)
 {
     undoEditAction->setVisible(b);
 }
 {
     undoEditAction->setVisible(b);
 }
+
+void MainWindow::enableResetAction(bool b)
+{
+    resetAction->setVisible(b);
+}
index f3cb59b..9abe266 100644 (file)
@@ -48,10 +48,9 @@ private:
     void setPassword(const QString& text);
     void askNewPassword();
     QString plaintext;
     void setPassword(const QString& text);
     void askNewPassword();
     QString plaintext;
-    QString undoText;
     void enableTextEdit(bool);
     void enableTextEdit(bool);
-    void enableUndoReset(bool);
-    QAction *undoResetAction;
+    void enableResetAction(bool);
+    QAction *resetAction;
     QAction *undoEditAction;
     QString filePath;
 
     QAction *undoEditAction;
     QString filePath;
 
@@ -59,7 +58,6 @@ private slots:
     void on_actionReset_secret_notes_triggered();
     void on_actionChange_password_triggered();
     void on_textEdit_undoAvailable(bool b);
     void on_actionReset_secret_notes_triggered();
     void on_actionChange_password_triggered();
     void on_textEdit_undoAvailable(bool b);
-    void undoReset();
     void undoEdit();
     void readFile();
 };
     void undoEdit();
     void readFile();
 };
index f93e6c0..6a6d8cf 100644 (file)
@@ -44,7 +44,6 @@
      <string>Options</string>
     </property>
     <addaction name="actionChange_password"/>
      <string>Options</string>
     </property>
     <addaction name="actionChange_password"/>
-    <addaction name="actionReset_secret_notes"/>
    </widget>
    <addaction name="menuOptions"/>
   </widget>
    </widget>
    <addaction name="menuOptions"/>
   </widget>