summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-10-20 14:04:56 (UTC)
committer llornkcor <llornkcor>2002-10-20 14:04:56 (UTC)
commitb915686dd38e99df72db332e1ea0b12a0895bdb3 (patch) (side-by-side diff)
treeac5590b057da22eadc96e44eafad7f4dd27688a5
parent6924185b50abfa448daa16a9f7cb6e532ec77ff9 (diff)
downloadopie-b915686dd38e99df72db332e1ea0b12a0895bdb3.zip
opie-b915686dd38e99df72db332e1ea0b12a0895bdb3.tar.gz
opie-b915686dd38e99df72db332e1ea0b12a0895bdb3.tar.bz2
added ability to delete checkbook account
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/checkbook/checkbook.pro3
-rw-r--r--noncore/apps/checkbook/qcheckbook.cpp6
-rw-r--r--noncore/apps/checkbook/qcheckbook.h1
-rw-r--r--noncore/apps/checkbook/qcheckmainmenu.cpp31
-rw-r--r--noncore/apps/checkbook/qcheckmainmenu.h1
-rw-r--r--noncore/apps/checkbook/qchecknamebase.cpp81
-rw-r--r--noncore/apps/checkbook/qchecknamebase.h38
7 files changed, 160 insertions, 1 deletions
diff --git a/noncore/apps/checkbook/checkbook.pro b/noncore/apps/checkbook/checkbook.pro
index e9e2167..cf78739 100644
--- a/noncore/apps/checkbook/checkbook.pro
+++ b/noncore/apps/checkbook/checkbook.pro
@@ -1,50 +1,51 @@
TEMPLATE = app
CONFIG = qt warn_on release
HEADERS = config.h \
qcheckbook.h \
qcheckdetails.h \
qcheckentry.h \
qcheckgraph.h \
qcheckmainmenu.h \
qcheckname.h \
qcheckview.h \
+ qchecknamebase.h \
qrestrictedcombo.h \
qrestrictedline.h
SOURCES = config.cpp \
main.cpp \
qcheckbook.cpp \
qcheckdetails.cpp \
qcheckentry.cpp \
qcheckgraph.cpp \
qcheckmainmenu.cpp \
qcheckname.cpp \
qcheckview.cpp \
qrestrictedcombo.cpp \
+ qchecknamebase.cpp \
qrestrictedline.cpp
INTERFACES = qcheckdetailsbase.ui \
qcheckentrybase.ui \
qcheckgraphbase.ui \
qcheckmmbase.ui \
- qchecknamebase.ui \
qcheckviewbase.ui
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
LIBS += -lqpe
TARGET = checkbook
DESTDIR = $(OPIEDIR)/bin
TRANSLATIONS = ../../../i18n/de/checkbook.ts \
../../../i18n/en/checkbook.ts \
../../../i18n/es/checkbook.ts \
../../../i18n/fr/checkbook.ts \
../../../i18n/hu/checkbook.ts \
../../../i18n/ja/checkbook.ts \
../../../i18n/ko/checkbook.ts \
../../../i18n/no/checkbook.ts \
../../../i18n/pl/checkbook.ts \
../../../i18n/pt/checkbook.ts \
../../../i18n/pt_BR/checkbook.ts \
../../../i18n/sl/checkbook.ts \
../../../i18n/zh_CN/checkbook.ts \
../../../i18n/zh_TW/checkbook.ts \
../../../i18n/it/checkbook.ts
diff --git a/noncore/apps/checkbook/qcheckbook.cpp b/noncore/apps/checkbook/qcheckbook.cpp
index bb7a5ac..26caad9 100644
--- a/noncore/apps/checkbook/qcheckbook.cpp
+++ b/noncore/apps/checkbook/qcheckbook.cpp
@@ -46,102 +46,108 @@ QCheckBook::QCheckBook()
void QCheckBook::newCheck(const QString &filename)
{
if (filename.isEmpty() == false)
{
initCheck = true;
if (m_view != 0)
{
m_view=0;
delete m_view;
}
m_view = new QCheckView(this, filename);
m_view->hide();
connect(m_view, SIGNAL(reload(const QString &)), this, SLOT(newCheck(const QString &)));
if (initMM == true)
{
delete nb1;
}
bar->clear();
mbar = new QMenuBar(bar);
mbar->setMargin(0);
QPixmap newIcon = Resource::loadPixmap( "new" );
nb2 = new QToolButton( newIcon, "New", QString::null, m_view, SLOT(newClicked()), bar, "new item" );
QPixmap pixmap = Resource::loadPixmap( "pixmap" );
m_filename = filename;
nb3 = new QToolButton( pixmap, "Graph", QString::null, this, SLOT(newGraph()), bar, "new graph" );
QPixmap closeIcon = Resource::loadPixmap( "close" );
nb4 = new QToolButton( closeIcon, "Close", QString::null, this, SLOT(initMainMenus()), bar, "close graph" );
popup = new QPopupMenu(m_view);
popup->insertItem("&New Entry", m_view, SLOT(newClicked()));
popup->insertItem("&Graph Checkbook", this, SLOT(newGraph()));
popup->insertItem("&Close Checkbook", this, SLOT(initMainMenus()));
popup->insertItem("&Exit", this, SLOT(close()));
mbar->insertItem("&File", popup);
setCentralWidget(m_view);
m_view->show();
Config config("qcheckbook");
config.setGroup("Global");
config.writeEntry("LastCheckBook", filename);
initMM = false;
}
}
+void QCheckBook::deleteCheck(const QString &filename)
+{
+ qDebug("Deleting "+filename);
+}
+
void QCheckBook::close()
{
QApplication::exit();
}
void QCheckBook::newGraph()
{
if (m_filename.isEmpty() == false)
{
m_view2 = new QCheckGraph(m_filename);
m_view2->showMaximized();
}
}
void QCheckBook::initMainMenus()
{
Config config("qcheckbook");
config.setGroup("Global");
config.writeEntry("LastCheckBook", QString(""));
initMM = true;
m_filename = "";
if (m_view3 != 0)
{
delete m_view3;
}
m_view3 = new QCheckMainMenu(this);
m_view3->hide();
if (initCheck == true)
{
delete nb2;
delete nb3;
delete nb4;
}
bar->clear();
mbar = new QMenuBar(bar);
mbar->setMargin(0);
QPixmap newIcon = Resource::loadPixmap( "new" );
nb1 = new QToolButton( newIcon, "New", QString::null, m_view3, SLOT(newClicked()), bar, "new book" );
popup = new QPopupMenu();
popup->insertItem("&New", m_view3, SLOT(newClicked()));
+ popup->insertItem("&Delete", m_view3, SLOT(deleteClicked()));
popup->insertItem("&Exit", this, SLOT(close()));
mbar->insertItem("&File", popup);
setCentralWidget(m_view3);
m_view3->show();
connect(m_view3, SIGNAL(itemSelected(const QString &)), this, SLOT(newCheck(const QString &)));
initCheck = false;
}
diff --git a/noncore/apps/checkbook/qcheckbook.h b/noncore/apps/checkbook/qcheckbook.h
index 52c0d40..64b6628 100644
--- a/noncore/apps/checkbook/qcheckbook.h
+++ b/noncore/apps/checkbook/qcheckbook.h
@@ -1,37 +1,38 @@
#include "qcheckview.h"
#include "qcheckgraph.h"
#include "qcheckmainmenu.h"
#include <qpe/resource.h>
#include <qmainwindow.h>
#include <qtoolbar.h>
#include <qstring.h>
#include "config.h"
#include <qpopupmenu.h>
class QCheckBook : public QMainWindow
{
Q_OBJECT
public:
QCheckBook();
private slots:
void newCheck(const QString &filename);
+ void deleteCheck(const QString &filename);
void newGraph();
void close();
void initMainMenus();
private:
QCheckView *m_view;
QCheckGraph *m_view2;
QCheckMainMenu *m_view3;
QToolBar *bar;
QMenuBar *mbar;
int filemenuid;
QString m_filename;
QToolButton *nb1;
QToolButton *nb2;
QToolButton *nb3;
QToolButton *nb4;
bool initCheck;
bool initMM;
QPopupMenu *popup;
};
diff --git a/noncore/apps/checkbook/qcheckmainmenu.cpp b/noncore/apps/checkbook/qcheckmainmenu.cpp
index 2382513..1aead88 100644
--- a/noncore/apps/checkbook/qcheckmainmenu.cpp
+++ b/noncore/apps/checkbook/qcheckmainmenu.cpp
@@ -27,48 +27,79 @@ void QCheckMainMenu::init()
lstCheckBooks->clearSelection();
}
void QCheckMainMenu::slotSelected(QListBoxItem *item)
{
if (item != 0)
{
QString text = item->text();
if (text.isEmpty() == false)
{
text.append(".qcb");
QString checkdirname = QDir::homeDirPath();
checkdirname.append("/.checkbooks/");
text.prepend(checkdirname);
emit itemSelected(text);
}
}
}
void QCheckMainMenu::newClicked()
{
QString checkname = QCheckName::getName();
if (checkname.isEmpty() == false)
{
QString checkdirname = QDir::homeDirPath();
checkdirname.append("/.checkbooks");
QDir checkdir(checkdirname);
if (checkdir.exists() == false)
{
checkdir.mkdir(checkdirname);
}
checkdirname.append("/");
checkdirname.append(checkname);
checkdirname.append(".qcb");
QFile file(checkdirname);
if (file.exists() == false)
{
file.open(IO_WriteOnly);
QTextStream os(&file);
os << "";
file.close();
}
QFileInfo fi(file);
QString noextension = fi.fileName();
noextension = noextension.remove(noextension.find('.'), noextension.length());
lstCheckBooks->insertItem(noextension);
}
}
+
+void QCheckMainMenu::deleteClicked()
+{
+ QString checkname = lstCheckBooks->currentText();
+ if (checkname.isEmpty() == false) {
+ switch ( QMessageBox::warning(this,tr("Delete Account"),tr("Really delete the\n")
+ +checkname+tr(" account?")
+ ,tr("Yes"),tr("No"),0,1,1) ) {
+ case 0: {
+
+ QString checkdirname = QDir::homeDirPath();
+ checkdirname.append("/.checkbooks");
+ QDir checkdir(checkdirname);
+ QString checkDir=checkdirname;
+
+ checkdirname.append("/");
+ checkdirname.append(checkname);
+ checkdirname.append(".qcb");
+ QFile file(checkdirname);
+ if (file.exists() == true) {
+ if(!file.remove()) {
+ QMessageBox::message(tr("Checkbook"),tr("Could not remove account"));
+ return;
+ } else
+ lstCheckBooks->removeItem(lstCheckBooks->currentItem());
+ }
+ }
+ break;
+ }
+ }
+}
diff --git a/noncore/apps/checkbook/qcheckmainmenu.h b/noncore/apps/checkbook/qcheckmainmenu.h
index 456d3df..24d601b 100644
--- a/noncore/apps/checkbook/qcheckmainmenu.h
+++ b/noncore/apps/checkbook/qcheckmainmenu.h
@@ -1,27 +1,28 @@
#include <qwidget.h>
#include <qtoolbutton.h>
#include <qpopupmenu.h>
#include <qfile.h>
#include <qdir.h>
#include <qtextstream.h>
#include <qstring.h>
#include <qlistbox.h>
#include <qmessagebox.h>
#include "qcheckmmbase.h"
class QCheckMainMenu : public QCheckMMBase
{
Q_OBJECT
public:
QCheckMainMenu(QWidget *);
signals:
void itemSelected(const QString &);
private:
void init();
private slots:
void slotSelected(QListBoxItem *);
public slots:
void newClicked();
+ void deleteClicked();
};
diff --git a/noncore/apps/checkbook/qchecknamebase.cpp b/noncore/apps/checkbook/qchecknamebase.cpp
new file mode 100644
index 0000000..27bebc1
--- a/dev/null
+++ b/noncore/apps/checkbook/qchecknamebase.cpp
@@ -0,0 +1,81 @@
+/****************************************************************************
+** Form implementation generated from reading ui file 'qchecknamebase.ui'
+**
+** Created: Wed Sep 18 09:40:57 2002
+** by: The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#include "qchecknamebase.h"
+
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include "qrestrictedline.h"
+#include <qlayout.h>
+#include <qvariant.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+/*
+ * Constructs a QCheckNameBase which is a child of 'parent', with the
+ * name 'name' and widget flags set to 'f'
+ *
+ * The dialog will by default be modeless, unless you set 'modal' to
+ * TRUE to construct a modal dialog.
+ */
+QCheckNameBase::QCheckNameBase( QWidget* parent, const char* name, bool modal, WFlags fl )
+ : QDialog( parent, name, modal, fl )
+{
+ if ( !name )
+ setName( "QCheckNameBase" );
+ resize( 228, 108 );
+ setCaption( tr( "Check Book Name" ) );
+
+ TextLabel3 = new QLabel( this, "TextLabel3" );
+ TextLabel3->setGeometry( QRect( 10, 5, 70, 16 ) );
+ QFont TextLabel3_font( TextLabel3->font() );
+ TextLabel3_font.setFamily( "BDF-helvetica" );
+ TextLabel3_font.setPointSize( 19 );
+ TextLabel3_font.setBold( TRUE );
+ TextLabel3->setFont( TextLabel3_font );
+ TextLabel3->setText( tr( "Name..." ) );
+
+ TextLabel4 = new QLabel( this, "TextLabel4" );
+ TextLabel4->setGeometry( QRect( 10, 25, 210, 25 ) );
+ TextLabel4->setText( tr( "Please name your check book.\n(limit: 15 characters):" ) );
+ TextLabel4->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter | QLabel::AlignLeft ) );
+
+ cmdDone = new QPushButton( this, "cmdDone" );
+ cmdDone->setGeometry( QRect( 75, 80, 75, 25 ) );
+ cmdDone->setText( tr( "&Done" ) );
+
+ leText = new QRestrictedLine( this, "leText" );
+ leText->setGeometry( QRect( 5, 51, 216, 25 ) );
+ leText->setFocus();
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+QCheckNameBase::~QCheckNameBase()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
+/*
+ * Main event handler. Reimplemented to handle application
+ * font changes
+ */
+bool QCheckNameBase::event( QEvent* ev )
+{
+ bool ret = QDialog::event( ev );
+ if ( ev->type() == QEvent::ApplicationFontChange ) {
+ QFont TextLabel3_font( TextLabel3->font() );
+ TextLabel3_font.setFamily( "BDF-helvetica" );
+ TextLabel3_font.setPointSize( 19 );
+ TextLabel3_font.setBold( TRUE );
+ TextLabel3->setFont( TextLabel3_font );
+ }
+ return ret;
+}
+
diff --git a/noncore/apps/checkbook/qchecknamebase.h b/noncore/apps/checkbook/qchecknamebase.h
new file mode 100644
index 0000000..864ecd6
--- a/dev/null
+++ b/noncore/apps/checkbook/qchecknamebase.h
@@ -0,0 +1,38 @@
+/****************************************************************************
+** Form interface generated from reading ui file 'qchecknamebase.ui'
+**
+** Created: Wed Sep 18 09:40:11 2002
+** by: The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#ifndef QCHECKNAMEBASE_H
+#define QCHECKNAMEBASE_H
+
+#include <qvariant.h>
+#include <qdialog.h>
+class QVBoxLayout;
+class QHBoxLayout;
+class QGridLayout;
+class QLabel;
+class QPushButton;
+class QRestrictedLine;
+
+class QCheckNameBase : public QDialog
+{
+ Q_OBJECT
+
+public:
+ QCheckNameBase( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
+ ~QCheckNameBase();
+
+ QLabel* TextLabel3;
+ QLabel* TextLabel4;
+ QPushButton* cmdDone;
+ QRestrictedLine* leText;
+
+protected:
+ bool event( QEvent* );
+};
+
+#endif // QCHECKNAMEBASE_H