mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-08-09 06:42:19 -04:00
added for plugins own dir
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1850 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
97d8640f3a
commit
87344de7d4
809 changed files with 790 additions and 722 deletions
520
plugins/qOrganizer_plugin/qorganizer.h
Normal file
520
plugins/qOrganizer_plugin/qorganizer.h
Normal file
|
@ -0,0 +1,520 @@
|
|||
/***************************************************************************
|
||||
* Copyright (C) 2007 by Balázs Béla *
|
||||
* balazsbela@gmail.com *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2
|
||||
* *
|
||||
* This program is distributed in the hope that it will be useful, *
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
* GNU General Public License for more details. *
|
||||
* *
|
||||
* You should have received a copy of the GNU General Public License *
|
||||
* along with this program; if not, write to the *
|
||||
* Free Software Foundation, Inc., *
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
***************************************************************************/
|
||||
|
||||
|
||||
#ifndef QORGANIZER_H
|
||||
#define QORGANIZER_H
|
||||
|
||||
#include <QMainWindow>
|
||||
#include <QCloseEvent>
|
||||
#include <QStackedWidget>
|
||||
#include <QCalendarWidget>
|
||||
#include <QWidget>
|
||||
#include <QHBoxLayout>
|
||||
#include <QVBoxLayout>
|
||||
#include <QListWidget>
|
||||
#include <QToolButton>
|
||||
#include <QTableWidget>
|
||||
#include <QTextEdit>
|
||||
#include <QPushButton>
|
||||
#include <QLabel>
|
||||
#include <QFontComboBox>
|
||||
#include <QTextCursor>
|
||||
#include <QDir>
|
||||
#include <QFtp>
|
||||
#include <QFile>
|
||||
#include <iostream>
|
||||
#include <QSystemTrayIcon>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <QMenu>
|
||||
#include <QStack>
|
||||
#include <QQueue>
|
||||
#include <QVector>
|
||||
#include <QProgressDialog>
|
||||
#include <QKeyEvent>
|
||||
#include <QSound>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlQuery>
|
||||
#include <QSqlError>
|
||||
#include <QSqlRecord>
|
||||
#include <QSettings>
|
||||
#include <QUrl>
|
||||
#include <QPixmap>
|
||||
#include "settings.h"
|
||||
#include "delegates.h"
|
||||
|
||||
class QApplication;
|
||||
|
||||
//Custom QTableWidget
|
||||
/*
|
||||
This is a subclass of QTableWidget so we can emit a signal every time in looses focus.
|
||||
To this signal are connected the saving functions for the data container widgets
|
||||
*/
|
||||
class CQTableWidget:public QTableWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
bool isBeingEdited();
|
||||
|
||||
public: signals:
|
||||
void focusLost();
|
||||
|
||||
protected:
|
||||
void focusOutEvent(QFocusEvent * event);
|
||||
//We need to reimplement this to be able to delete absences,
|
||||
void keyPressEvent (QKeyEvent * event);
|
||||
|
||||
};
|
||||
|
||||
|
||||
//Custom QTableWidget for the same thing.
|
||||
|
||||
class CQTextEdit:public QTextEdit
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
signals:
|
||||
void focusLost();
|
||||
|
||||
protected:
|
||||
void focusOutEvent(QFocusEvent * event);
|
||||
/*void dragEnterEvent(QDragEnterEvent *event);
|
||||
//void dropEvent(QDropEvent *e);*/
|
||||
void insertFromMimeData( const QMimeData *source );
|
||||
bool canInsertFromMimeData( const QMimeData *source ) const;
|
||||
|
||||
|
||||
};
|
||||
|
||||
//LineEdit with clear button on the right.
|
||||
|
||||
class LineEdit : public QLineEdit
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
LineEdit(qOrganizer *parent = 0);
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *);
|
||||
|
||||
private slots:
|
||||
void updateCloseButton(const QString &text);
|
||||
void clearAndSetDateBack();
|
||||
private:
|
||||
QToolButton *clearButton;
|
||||
qOrganizer *Parent;
|
||||
};
|
||||
|
||||
|
||||
//coordinate class for storing dates in a QMap
|
||||
|
||||
class CoordinatePair
|
||||
{
|
||||
public:
|
||||
CoordinatePair(int a, int b)
|
||||
{
|
||||
x=a;
|
||||
y=b;
|
||||
}
|
||||
|
||||
int x;
|
||||
int y;
|
||||
|
||||
};
|
||||
|
||||
//about Dialog
|
||||
class aboutDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public :
|
||||
aboutDialog();
|
||||
~aboutDialog();
|
||||
public slots:
|
||||
void close();
|
||||
private:
|
||||
QTabWidget *tabWidget;
|
||||
QWidget *textWidget;
|
||||
QWidget *thanksWidget;
|
||||
QLabel *aboutLabel;
|
||||
QLabel *thanksToLabel;
|
||||
QLayout *thanksLayout;
|
||||
QHBoxLayout *textLayout;
|
||||
QVBoxLayout *layout;
|
||||
QHBoxLayout *okLayout;
|
||||
QPushButton *okButton;
|
||||
};
|
||||
|
||||
|
||||
//Our class
|
||||
|
||||
|
||||
class qOrganizer:public QMainWindow
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
qOrganizer();
|
||||
~qOrganizer();
|
||||
void createActions();
|
||||
void createMenus();
|
||||
void createToolBars();
|
||||
void createStatusBar();
|
||||
void addItems();
|
||||
void addCalendarPage();
|
||||
void addToDoPage();
|
||||
void addCalendarPageWidgets();
|
||||
void addTimeTable();
|
||||
void addBookletPage();
|
||||
void connectCallendarPageWidgets();
|
||||
void layoutCalendarPageWidgets();
|
||||
void closeEvent(QCloseEvent *e);
|
||||
void emptyTable();
|
||||
void setCalDir();
|
||||
void setTDDir();
|
||||
void setTTDir();
|
||||
void setBDir();
|
||||
void setConfigDir();
|
||||
void setSTray();
|
||||
void hideEvent(QHideEvent * event);
|
||||
void printCalendar();
|
||||
void printToDoList();
|
||||
void printTimeTable();
|
||||
void printBooklet();
|
||||
void splitMyString(QString s);
|
||||
void writeDefaultConfigFile();
|
||||
void writeSettings();
|
||||
void readSettings();
|
||||
double calculateRowAverage(int row);
|
||||
void toggleAutoSave(bool ind);
|
||||
void playSound();
|
||||
//DATABASE STUFF:
|
||||
void connectToDB();
|
||||
void setDBDir();
|
||||
bool tableExistsDB(QString &tablename);
|
||||
|
||||
|
||||
QLabel *noteLabel;
|
||||
QString selDate;
|
||||
QComboBox *comboSize;
|
||||
QLabel *day;
|
||||
QHBoxLayout *buttonLayout;
|
||||
QPushButton *deleteButton;
|
||||
QPushButton *newButton;
|
||||
QTextEdit *textField;
|
||||
QHBoxLayout *mainLayout;
|
||||
QVBoxLayout *textLayout;
|
||||
CQTableWidget *tableWid;
|
||||
QStackedWidget *mainWid;
|
||||
QMenu *fileMenu;
|
||||
QMenu *viewMenu;
|
||||
QMenu *settingsMenu;
|
||||
QMenu *helpMenu;
|
||||
QMenu *ftpMenu;
|
||||
QMenu *saveToMenu;
|
||||
QToolBar *fileToolBar;
|
||||
QToolBar *editToolBar;
|
||||
QAction *calAct;
|
||||
QAction *bookletAct;
|
||||
QAction *toDoAct;
|
||||
QAction *saveAct;
|
||||
QAction *timeTableAct;
|
||||
QAction *exitAct;
|
||||
QAction *aboutAct;
|
||||
QAction *aboutQtAct;
|
||||
QAction *printAct;
|
||||
QAction *uploadAct;
|
||||
QAction *downloadAct;
|
||||
QAction *settingsAct;
|
||||
QAction *saveToDBAct;
|
||||
QAction *saveToTXTAct;
|
||||
QAction *saveToMySQLDBAct;
|
||||
QWidget *CallWid;
|
||||
QVBoxLayout *vl;
|
||||
QCalendarWidget *calendar;
|
||||
QWidget *CalendarPage;
|
||||
QFontComboBox *fontBox;
|
||||
QVBoxLayout *ToDoVl;
|
||||
QWidget *ToDoPage;
|
||||
QStringList englishList;
|
||||
QStringList universalTTlabels;
|
||||
QWidget *timeTablePage;
|
||||
CQTableWidget *list;
|
||||
QTextCursor cursor;
|
||||
QFont font;
|
||||
QPushButton *B;
|
||||
QPushButton *I;
|
||||
QPushButton *U;
|
||||
QTableWidgetItem* item;
|
||||
QDir *dataDir;
|
||||
|
||||
QPushButton *newTaskButton;
|
||||
QPushButton *deleteTaskButton;
|
||||
QVBoxLayout *mainHl;
|
||||
QHBoxLayout *buttonVl;
|
||||
|
||||
CQTableWidget *table;
|
||||
QPushButton *newTTRow;
|
||||
QPushButton *delTTRow;
|
||||
QPushButton *newTTCmn;
|
||||
QPushButton *delTTCmn;
|
||||
QVBoxLayout *Vl;
|
||||
QHBoxLayout *Hl;
|
||||
QHBoxLayout *BHl;
|
||||
QStringList TDlabels;
|
||||
QStringList TTlabels;
|
||||
QStringList Clabels;
|
||||
QHBoxLayout *ttLayout;
|
||||
QHBoxLayout *centerLayout;
|
||||
QLabel *ttLabel;
|
||||
QComboBox *ttCombo;
|
||||
|
||||
QSystemTrayIcon *tray;
|
||||
QPrinter *printer;
|
||||
|
||||
QWidget *bookletPage;
|
||||
CQTableWidget *markTable;
|
||||
CQTableWidget *absenceTable;
|
||||
QPushButton *newMarkButton;
|
||||
QPushButton *deleteMarkButton;
|
||||
QPushButton *newSubjectButton;
|
||||
QPushButton *deleteSubjectButton;
|
||||
QPushButton *newAbsenceButton;
|
||||
QPushButton *deleteAbsenceButton;
|
||||
QStringList subjectList;
|
||||
|
||||
QLineEdit *averageField;
|
||||
QLineEdit *totalAverageField;
|
||||
QLineEdit *absenceNrField;
|
||||
QDateEdit *markDateField;
|
||||
|
||||
QTimer *timer;
|
||||
|
||||
std::vector<std::string> v;
|
||||
QMenu *contextMenu;
|
||||
|
||||
//CONFIG VARIABLES
|
||||
QString C_PATH;
|
||||
QString C_DT_FORMAT; //date time format
|
||||
unsigned long long int C_TIMEOUT;
|
||||
unsigned int C_FIRST_DAY_OF_WEEK;
|
||||
bool C_AUTOSAVE_TOGGLE;
|
||||
bool C_BALOON_SET;
|
||||
unsigned int C_NRROWS;
|
||||
//Ftp settings
|
||||
bool C_SYNCFTP;
|
||||
QString C_HOST;
|
||||
unsigned int C_PORT;
|
||||
QString C_USER;
|
||||
QString C_PASSWD;
|
||||
QString C_FTPPATH;
|
||||
QString C_LANGUAGETEXT;
|
||||
bool C_LOAD_ON_CHANGE;
|
||||
bool C_SYSTRAY;
|
||||
bool C_SOUND;
|
||||
bool C_SHOW_SAVE;
|
||||
unsigned int C_STORINGMODE;
|
||||
unsigned int C_OLD_STORINGMODE;
|
||||
//MySQL stuff
|
||||
QString C_MYSQL_HOST;
|
||||
unsigned int C_MYSQL_PORT;
|
||||
QString C_MYSQL_USER;
|
||||
QString C_MYSQL_PASSWD;
|
||||
QString C_MYSQL_DB;
|
||||
unsigned int C_TIMETABLE_INDEX;
|
||||
bool calledFromTTCombo;
|
||||
bool C_USE_ODDTT;
|
||||
bool C_TT_REVERSORDER;
|
||||
bool C_ROUND_ON_AVERAGE;
|
||||
//Settings dialog
|
||||
SettingsDialog *settingsDialog;
|
||||
//global settings object
|
||||
QSettings *settings;
|
||||
QString globalWDirPath;
|
||||
|
||||
QFtp *ftp;
|
||||
QStringList *ftpEntryes;
|
||||
QStack<QString> stack;
|
||||
QVector<int> listCommandVector;
|
||||
QVector<int> getCommandVector;
|
||||
QVector<int> putCommandVector;
|
||||
QList<QUrlInfo> entryList;
|
||||
QList<QUrlInfo> listedFiles;
|
||||
QList<QUrlInfo> listedFolders;
|
||||
int listCommand;
|
||||
QString lpath;
|
||||
QFile *ftpFile;
|
||||
QQueue<QFile*> fileQueue;
|
||||
QQueue<QFile*> uploadedFileQueue;
|
||||
bool noFolders;
|
||||
bool changedAutoSave;
|
||||
|
||||
//Delegates:
|
||||
absenceDelegate absDelegate;
|
||||
markDelegate marksDelegate;
|
||||
todoDelegate tdlistDelegate;
|
||||
scheduleDelegate schDelegate;
|
||||
timeTableDelegate ttDelegate;
|
||||
//Status progress bar
|
||||
QProgressBar *statusProgress;
|
||||
|
||||
QSound *sound; //reminder sound
|
||||
//Database stuff:
|
||||
QList<QString> textList;
|
||||
QSqlDatabase db;
|
||||
QString dbPath;
|
||||
bool connectionExists;
|
||||
|
||||
//Search stuff
|
||||
QList<QDate> dateList;
|
||||
QLabel *searchLabel;
|
||||
LineEdit *searchField;
|
||||
QPushButton *searchPrevButton;
|
||||
QPushButton *searchNextButton;
|
||||
QHBoxLayout *searchLayout;
|
||||
int searchCurrentIndex;
|
||||
QString oldSearchString;
|
||||
|
||||
bool downloadingFromFTP;
|
||||
|
||||
//Dates in booklet
|
||||
QMap<CoordinatePair,QDate> map;
|
||||
|
||||
//about dialog;
|
||||
aboutDialog *aboutD;
|
||||
public slots:
|
||||
void about();
|
||||
void ChangeToCalendar();
|
||||
void ChangetoToDoList();
|
||||
void ChangeToTimeTable();
|
||||
void ChangeToBooklet();
|
||||
void insertRowToEnd();
|
||||
void deleteRow();
|
||||
void updateDay();
|
||||
void modifyText();
|
||||
void setFont();
|
||||
void loadSchedule();
|
||||
void saveSchedule();
|
||||
void saveJurnal();
|
||||
void loadJurnal();
|
||||
|
||||
void newTask();
|
||||
void deleteTask();
|
||||
void saveToDoList();
|
||||
void loadToDoList();
|
||||
|
||||
void newRow();
|
||||
void newColumn();
|
||||
void delColumn();
|
||||
void delRow();
|
||||
void saveTimeTable();
|
||||
void loadTimeTable();
|
||||
|
||||
void newMark();
|
||||
void newSubject();
|
||||
void deleteMark();
|
||||
void deleteSubject();
|
||||
void newAbsence();
|
||||
void deleteAbsence();
|
||||
void saveMarksTable();
|
||||
void saveAbsenceTable();
|
||||
void loadMarksTable();
|
||||
void loadAbsenceTable();
|
||||
|
||||
void trayActivated(QSystemTrayIcon::ActivationReason reason);
|
||||
void toggleVisibility();
|
||||
void printPage();
|
||||
|
||||
void updateAbsenceNr();
|
||||
void updateAverage(int nx,int ny,int px,int py);
|
||||
void updateTotalAverage();
|
||||
void setReminders();
|
||||
void remind();
|
||||
|
||||
void readConfigFile();
|
||||
void showSettings();
|
||||
void saveConfigFile();
|
||||
|
||||
void initUpload();
|
||||
void putToFTP();
|
||||
void getFromFTP();
|
||||
void connectToFTP();
|
||||
void processFolder(const QUrlInfo &i);
|
||||
void processCommand(int com,bool err);
|
||||
void getFolder(QString path,QString localPath);
|
||||
void sendFolder(const QString& path,const QString &dirPath);
|
||||
void downloadFiles();
|
||||
void updateStatusG(bool error);
|
||||
void updateStatusP(bool error);
|
||||
|
||||
//DATABASE SLOTS:
|
||||
void saveScheduleDB();
|
||||
void loadScheduleDB();
|
||||
void loadJurnalDB();
|
||||
void saveJurnalDB();
|
||||
void loadToDoListDB();
|
||||
void saveToDoListDB();
|
||||
void loadTimeTableDB();
|
||||
void saveTimeTableDB();
|
||||
void setTTLabelsDB();
|
||||
void saveTTLabelsDB();
|
||||
void setSubjectLabelsDB();
|
||||
void saveSubjectLabelsDB();
|
||||
void loadMarksTableDB();
|
||||
void saveMarksTableDB();
|
||||
void loadAbsenceTableDB();
|
||||
void saveAbsenceTableDB();
|
||||
void saveAlltoSQLiteDB();
|
||||
void saveAlltoTXT();
|
||||
void saveAlltoMySQLDB();
|
||||
|
||||
void saveAll();
|
||||
void loadAll();
|
||||
void updateCalendar();
|
||||
|
||||
//Search:
|
||||
void search();
|
||||
void searchPrev();
|
||||
void searchNext();
|
||||
//Saving column widths
|
||||
void saveColumnWidths();
|
||||
void setColumnWidths();
|
||||
void saveCalendarColumnWidths();
|
||||
void setCalendarColumnWidths();
|
||||
//Odd or even in timetable
|
||||
void changeTTIndex(int);
|
||||
//settings
|
||||
void getWDirPath();
|
||||
|
||||
//marks date
|
||||
void loadMarkDates();
|
||||
void loadMarkDatesDB();
|
||||
void saveMarkDates();
|
||||
void saveMarkDatesDB();
|
||||
|
||||
void updateDate(int currentX,int currentY,int prevX,int prevY);
|
||||
void saveDate(QDate date);
|
||||
void exitApp();
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue