diff --git a/ChangeLog b/ChangeLog index 75351df1..1dd71393 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21934,3 +21934,5 @@ * Removed 'RDCartFilter::loadConfig()' and 'RDCartFilter::saveConfig()' methods. * Added 'RDMainWindow' to rdlibrary(1). +2021-06-21 Fred Gleason + * Added 'RDMainWindow' to rdlogedit(1). diff --git a/rdlogedit/edit_log.cpp b/rdlogedit/edit_log.cpp index a878eb7b..aed97051 100644 --- a/rdlogedit/edit_log.cpp +++ b/rdlogedit/edit_log.cpp @@ -558,16 +558,12 @@ EditLog::~EditLog() QSize EditLog::sizeHint() const { + printf("sizeHint(%d,%d)\n",global_logedit_window_size.width(), + global_logedit_window_size.height()); return global_logedit_window_size; } -QSizePolicy EditLog::sizePolicy() const -{ - return QSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); -} - - int EditLog::exec() { QString username; diff --git a/rdlogedit/edit_log.h b/rdlogedit/edit_log.h index 08fdf328..335a3d5e 100644 --- a/rdlogedit/edit_log.h +++ b/rdlogedit/edit_log.h @@ -47,7 +47,6 @@ class EditLog : public RDDialog QWidget *parent=0); ~EditLog(); QSize sizeHint() const; - QSizePolicy sizePolicy() const; public slots: int exec(); diff --git a/rdlogedit/globals.h b/rdlogedit/globals.h index b0e74428..df5d363d 100644 --- a/rdlogedit/globals.h +++ b/rdlogedit/globals.h @@ -28,7 +28,7 @@ // Global Resources // extern bool global_import_running; -extern QSize global_top_window_size; +//extern QSize global_top_window_size; extern QSize global_logedit_window_size; extern int global_start_time_style; diff --git a/rdlogedit/rdlogedit.cpp b/rdlogedit/rdlogedit.cpp index 60b328fd..fe266c1d 100644 --- a/rdlogedit/rdlogedit.cpp +++ b/rdlogedit/rdlogedit.cpp @@ -38,12 +38,12 @@ // Global Resources // bool global_import_running=false; -QSize global_top_window_size; +//QSize global_top_window_size; QSize global_logedit_window_size; int global_start_time_style; MainWidget::MainWidget(RDConfig *c,QWidget *parent) - : RDWidget(c,parent) + : RDMainWindow("rdlogedit",c) { QString err_msg; @@ -57,7 +57,6 @@ MainWidget::MainWidget(RDConfig *c,QWidget *parent) // setMinimumWidth(RDLOGEDIT_DEFAULT_WIDTH); setMinimumHeight(RDLOGEDIT_DEFAULT_HEIGHT); - LoadPositions(); // // Open the Database @@ -183,12 +182,14 @@ MainWidget::MainWidget(RDConfig *c,QWidget *parent) tr("User")+": ["+tr("Unknown")+"]"); log_resize=true; + + loadSettings(true); } QSize MainWidget::sizeHint() const { - return global_top_window_size; + return QSize(RDLOGEDIT_DEFAULT_WIDTH,RDLOGEDIT_DEFAULT_HEIGHT); } @@ -608,11 +609,17 @@ void MainWidget::notificationReceivedData(RDNotification *notify) void MainWidget::quitMainWidget() { - SavePositions(); + saveSettings(); exit(0); } +void MainWidget::closeEvent(QCloseEvent *e) +{ + quitMainWidget(); +} + + void MainWidget::resizeEvent(QResizeEvent *e) { if((log_log_view==NULL)||(!log_resize)) { @@ -630,8 +637,6 @@ void MainWidget::resizeEvent(QResizeEvent *e) log_track_button->setGeometry(300,size().height()-55,80,50); log_report_button->setGeometry(400,size().height()-55,80,50); log_close_button->setGeometry(size().width()-90,size().height()-55,80,50); - - global_top_window_size=e->size(); } @@ -709,44 +714,6 @@ int main(int argc,char *argv[]) RDConfig *config=new RDConfig(); config->load(); MainWidget *w=new MainWidget(config); - w->setGeometry(QRect(QPoint(w->geometry().x(),w->geometry().y()), - w->sizeHint())); w->show(); return a.exec(); } - - -void MainWidget::LoadPositions() const -{ - QString filename=RDHomeDir()+"/"+RDLOGEDIT_POSITION_FILENAME; - RDProfile *p=new RDProfile(); - p->setSource(filename); - global_top_window_size= - QSize(p->intValue("RDLogEdit","TopWindowWidth",RDLOGEDIT_DEFAULT_WIDTH), - p->intValue("RDLogEdit","TopWindowHeight",RDLOGEDIT_DEFAULT_HEIGHT)); - global_logedit_window_size= - QSize(p->intValue("RDLogEdit","LogeditWindowWidth",RDLOGEDIT_EDITLOG_DEFAULT_WIDTH), - p->intValue("RDLogEdit","LogeditWindowHeight",RDLOGEDIT_EDITLOG_DEFAULT_HEIGHT)); - global_start_time_style=p->intValue("RDLogEdit","StartTimeStyle",0); - - delete p; -} - - -void MainWidget::SavePositions() const -{ - QString filename=RDHomeDir()+"/"+RDLOGEDIT_POSITION_FILENAME; - QString temp_filename=RDHomeDir()+"/"+RDLOGEDIT_POSITION_FILENAME+"-temp"; - FILE *f=NULL; - - if((f=fopen(temp_filename.toUtf8(),"w"))!=NULL) { - fprintf(f,"[RDLogEdit]\n"); - fprintf(f,"TopWindowWidth=%d\n",global_top_window_size.width()); - fprintf(f,"TopWindowHeight=%d\n",global_top_window_size.height()); - fprintf(f,"LogeditWindowWidth=%d\n",global_logedit_window_size.width()); - fprintf(f,"LogeditWindowHeight=%d\n",global_logedit_window_size.height()); - fprintf(f,"StartTimeStyle=%d\n",global_start_time_style); - fclose(f); - rename(temp_filename.toUtf8(),filename.toUtf8()); - } -} diff --git a/rdlogedit/rdlogedit.h b/rdlogedit/rdlogedit.h index 13018571..18ad58bc 100644 --- a/rdlogedit/rdlogedit.h +++ b/rdlogedit/rdlogedit.h @@ -26,16 +26,17 @@ #include #include #include +#include #include #include #include -#define RDLOGEDIT_POSITION_FILENAME ".rdlogedit" #define RDLOGEDIT_DEFAULT_WIDTH 640 #define RDLOGEDIT_DEFAULT_HEIGHT 480 +#define RDLOGEDIT_POSITION_FILENAME ".rdlogedit" #define RDLOGEDIT_USAGE "\n" -class MainWidget : public RDWidget +class MainWidget : public RDMainWindow { Q_OBJECT public: @@ -60,14 +61,13 @@ class MainWidget : public RDWidget void quitMainWidget(); protected: + void closeEvent(QCloseEvent *e); void resizeEvent(QResizeEvent *e); private: void SendNotification(RDNotification::Action action,const QString &logname); void LockList(); void UnlockList(); - void LoadPositions() const; - void SavePositions() const; QModelIndex SingleSelectedRow() const; QString log_filename; QString log_import_path;