aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gpgwin.cpp4
-rwxr-xr-xquitdialog.cpp14
-rw-r--r--textedit.cpp169
-rw-r--r--textedit.h7
4 files changed, 44 insertions, 150 deletions
diff --git a/gpgwin.cpp b/gpgwin.cpp
index 905d902..17062cc 100644
--- a/gpgwin.cpp
+++ b/gpgwin.cpp
@@ -298,12 +298,12 @@ void GpgWin::createActions()
switchTabUpAct = new QAction(this);
switchTabUpAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Tab));
connect(switchTabUpAct, SIGNAL(triggered()), edit, SLOT(switchTabUp()));
- //this->addAction(switchTabUpAct);
+ this->addAction(switchTabUpAct);
switchTabDownAct = new QAction(this);
switchTabDownAct->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Shift+ Qt::Key_Tab));
connect(switchTabDownAct, SIGNAL(triggered()), edit, SLOT(switchTabDown()));
- //this->addAction(switchTabDownAct);
+ this->addAction(switchTabDownAct);
}
void GpgWin::createMenus()
diff --git a/quitdialog.cpp b/quitdialog.cpp
index 38cf14e..6e64065 100755
--- a/quitdialog.cpp
+++ b/quitdialog.cpp
@@ -66,7 +66,6 @@ QuitDialog::QuitDialog(QWidget *parent, QHash<int, QString> unsavedDocs, QString
// tab-index in hidden column
QTableWidgetItem *tmp2 = new QTableWidgetItem(QString::number(i.key()));
mFileList->setItem(row, 2, tmp2);
- qDebug() << "tmp2:" << tmp2->text();
++row;
}
/*
@@ -83,15 +82,24 @@ QuitDialog::QuitDialog(QWidget *parent, QHash<int, QString> unsavedDocs, QString
QWidget *warnBox = new QWidget(this);
warnBox->setLayout(warnBoxLayout);
+ /*
+ * Two labels on top and under the filelist
+ */
QLabel *checkLabel = new QLabel(tr("Check the files you want to save"));
-
QLabel *notelabel = new QLabel(tr("NOTE: If you don't save these files, all changes are lost.")+"\n");
+ /*
+ * Buttonbox
+ */
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Discard |QDialogButtonBox::Save | QDialogButtonBox::Cancel);
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
QPushButton* btnNoKey = buttonBox->button(QDialogButtonBox::Discard);
connect(btnNoKey, SIGNAL(clicked()), SLOT(myDiscard()));
+
+ /*
+ * Set the layout
+ */
QVBoxLayout *vbox = new QVBoxLayout();
vbox->addWidget(warnBox);
vbox->addWidget(checkLabel);
@@ -99,7 +107,6 @@ QuitDialog::QuitDialog(QWidget *parent, QHash<int, QString> unsavedDocs, QString
vbox->addWidget(notelabel);
vbox->addWidget(buttonBox);
this->setLayout(vbox);
-
}
@@ -119,7 +126,6 @@ QList <int> QuitDialog::getTabIdsToSave()
QList <int> tabIdsToSave;
for (int i = 0; i < mFileList->rowCount(); i++) {
if (mFileList->item(i, 0)->checkState() == Qt::Checked) {
- qDebug() << "tabidtosave: " << mFileList->item(i, 2)->text();
tabIdsToSave << mFileList->item(i, 2)->text().toInt();
}
}
diff --git a/textedit.cpp b/textedit.cpp
index 183c108..3ef84ba 100644
--- a/textedit.cpp
+++ b/textedit.cpp
@@ -164,37 +164,6 @@ bool TextEdit::saveAs()
}
-bool TextEdit::closeFile()
-{
- if (tabWidget->count() != 0) {
-
-/*
- // maybesave is also called in removeTab, so not necesarry here
- if (maybeSaveCurrentTab()) {
-
- // get current index and set it then back?
- int tabIndex = tabWidget->currentIndex();
- tabWidget->setCurrentIndex(tabIndex);
-
- // removetab is going to call close
- curPage()->close();
- tabWidget->removeTab(tabIndex);
-
- if (tabWidget->count() == 0) {
- // enableAction(false);
- }
- return true;
- }
- return false;
- */
-
- int tabIndex = tabWidget->currentIndex();
- tabWidget->removeTab(tabIndex);
-
- }
- return false;
-}
-
/**
* close current tab
*/
@@ -265,32 +234,6 @@ void TextEdit::selectAll()
curTextPage()->selectAll();
}
-/*void TextEditor::closeEvent(QCloseEvent *event)
-{
- int curIndex = tabWidget->count();
- bool answ = true;
-
-
- while (curIndex >= 1 && answ == true)
- {
- answ = closeFile();
-
- curIndex--;
- }
-
-
- if (answ == true)
- {
- writeSettings();
- event->accept();
- }
- else
- {
- event->ignore();
- }
-}
-*/
-
/**
* Check if current may need to be saved.
* Call this function before closing the currently active tab-
@@ -324,16 +267,6 @@ bool TextEdit::maybeSaveCurrentTab() {
return true;
}
-bool TextEdit::saveTab(int i) {
- EditorPage *page = qobject_cast<EditorPage *> (tabWidget->widget(i));
-
- QString filePath = page->getFilePath();
- if (filePath == "") {
- return saveAs();
- } else {
- return saveFile(filePath);
- }
-}
/**
* Checks if there are unsaved documents in any tab,
* which may need to be saved. Call this function before
@@ -343,21 +276,11 @@ bool TextEdit::saveTab(int i) {
*/
bool TextEdit::maybeSaveAnyTab()
{
+ // get a list of all unsaved documents and their tabids
+ QHash<int, QString> unsavedDocs = this->unsavedDocuments();
- QHash<int, QString> unsavedDocs; // this list could be used to implement gedit like "unsaved changed"-dialog
-
- for(int i=0; i < tabWidget->count(); i++) {
- EditorPage *ep = qobject_cast<EditorPage *> (tabWidget->widget(i));
- if(ep->getTextPage()->document()->isModified()) {
- QString docname = tabWidget->tabText(i);
- // remove * before name of modified doc (has to be placed after saving)
- docname.remove(0,2);
- unsavedDocs.insert(i, docname);
- }
- }
- qDebug() << unsavedDocs.size();
/*
- * no unsaved documents
+ * no unsaved documents, so app can be closed
*/
if (unsavedDocs.size() == 0) {
return true;
@@ -369,47 +292,36 @@ bool TextEdit::maybeSaveAnyTab()
if(unsavedDocs.size() == 1) {
int modifiedTab = unsavedDocs.keys().at(0);
tabWidget->setCurrentIndex(modifiedTab);
-
return maybeSaveCurrentTab();
+ }
/*
* more than one unsaved documents
*/
- }
if(unsavedDocs.size() > 1) {
QHashIterator<int, QString> i (unsavedDocs);
- while (i.hasNext()) {
- i.next();
- qDebug() << "unsaved: " << i.key() << ": " << i.value();
- }
QuitDialog *dialog;
dialog=new QuitDialog(this, unsavedDocs, mIconPath);
-
-
int result = dialog->exec();
- // return true, if discard is clicked, so app can be closed
+
+ // if result is QDialog::Rejected, discard or cancel was clicked
if (result == QDialog::Rejected){
+ // return true, if discard is clicked, so app can be closed
if (dialog->isDiscarded()){
return true;
} else {
return false;
}
-
} else {
bool allsaved=true;
QList <int> tabIdsToSave = dialog->getTabIdsToSave();
- foreach (int tabId, tabIdsToSave){
- qDebug() << "testtabid" << tabId;
- }
foreach (int tabId, tabIdsToSave){
- qDebug() << "tabIdtosave in quitdialog: " << tabId;
tabWidget->setCurrentIndex(tabId);
if (! maybeSaveCurrentTab()) {
allsaved=false;
}
- qDebug() << "handling for save" << tabId;
}
if (allsaved) {
return true;
@@ -420,14 +332,12 @@ bool TextEdit::maybeSaveAnyTab()
}
// code should never reach this statement
return false;
-
}
QPlainTextEdit* TextEdit::curTextPage()
{
EditorPage *curTextPage = qobject_cast<EditorPage *>(tabWidget->currentWidget());
-
return curTextPage->getTextPage();
}
@@ -435,31 +345,9 @@ QPlainTextEdit* TextEdit::curTextPage()
EditorPage* TextEdit::curPage()
{
EditorPage *curPage = qobject_cast<EditorPage *>(tabWidget->currentWidget());
-
return curPage;
}
-void TextEdit::dragEnterEvent(QDragEnterEvent *event)
-{
- if (event->mimeData()->hasFormat("text/plain"))
- qDebug() << "enter textedit drag action";
- event->acceptProposedAction();
-}
-
-void TextEdit::dropEvent(QDropEvent* event)
-{
- curTextPage()->setPlainText(event->mimeData()->text());
-
- qDebug() << "enter textedit drop action";
- qDebug() << event->mimeData()->text();
- foreach (QUrl tmp, event->mimeData()->urls())
- {
- qDebug() << "hallo" << tmp;
- }
-
- //event->acceptProposedAction();
-}
-
void TextEdit::quote()
{
QTextCursor cursor(curTextPage()->document());
@@ -475,7 +363,6 @@ void TextEdit::quote()
cursor.insertText("> ");
}
cursor.endEditBlock();
-
}
void TextEdit::loadFile(const QString &fileName)
@@ -531,44 +418,28 @@ void TextEdit::showModified() {
}
void TextEdit::switchTabUp() {
- qDebug() << "hallo";
if (tabWidget->count() > 1)
{
if (tabWidget->count() == tabWidget->currentIndex()+1){
tabWidget->setCurrentIndex(0);
- }
- else
- {
+ } else {
tabWidget->setCurrentIndex(tabWidget->currentIndex()+1);
}
}
}
void TextEdit::switchTabDown() {
- qDebug() << "hallo";
if (tabWidget->count() > 1)
{
if (tabWidget->currentIndex()==1) {
tabWidget->setCurrentIndex(tabWidget->count()-1);
- }
- else
- {
+ } else {
tabWidget->setCurrentIndex(tabWidget->currentIndex()-1);
}
}
- this->removeTab(0);;
+ this->removeTab(0);
}
-int TextEdit::getUnsavedDocumentsNumber() {
- int number=0;
- for(int i=0; i < tabWidget->count(); i++) {
- EditorPage *ep = qobject_cast<EditorPage *> (tabWidget->widget(i));
- if(ep->getTextPage()->document()->isModified()) {
- number++;
- }
- }
- return number;
-}
QHash<int, QString> TextEdit::unsavedDocuments() {
QHash<int, QString> unsavedDocs; // this list could be used to implement gedit like "unsaved changed"-dialog
@@ -584,3 +455,23 @@ QHash<int, QString> TextEdit::unsavedDocuments() {
}
return unsavedDocs;
}
+
+/*void TextEdit::dragEnterEvent(QDragEnterEvent *event)
+{
+ if (event->mimeData()->hasFormat("text/plain"))
+ qDebug() << "enter textedit drag action";
+ event->acceptProposedAction();
+}
+
+void TextEdit::dropEvent(QDropEvent* event)
+{
+ curTextPage()->setPlainText(event->mimeData()->text());
+
+ foreach (QUrl tmp, event->mimeData()->urls())
+ {
+ qDebug() << "hallo" << tmp;
+ }
+
+ //event->acceptProposedAction();
+}
+*/
diff --git a/textedit.h b/textedit.h
index 3a66175..091ce9d 100644
--- a/textedit.h
+++ b/textedit.h
@@ -45,7 +45,6 @@ public:
bool maybeSaveAnyTab();
bool maybeSaveCurrentTab();
QPlainTextEdit* curTextPage();
- int getUnsavedDocumentsNumber();
QHash<int, QString> unsavedDocuments();
public slots:
@@ -68,7 +67,6 @@ private:
QString mIconPath;
int countPage;
QTabWidget *tabWidget;
- bool saveTab(int i);
private slots:
void removeTab(int index);
@@ -80,9 +78,8 @@ private slots:
void selectAll();
protected:
- void dragEnterEvent(QDragEnterEvent *event);
- void dropEvent(QDropEvent* event);
+// void dragEnterEvent(QDragEnterEvent *event);
+// void dropEvent(QDropEvent* event);
bool saveFile(const QString &fileName);
- bool closeFile();
};
#endif // TEXTEDIT