Skip to content

Commit e5ca484

Browse files
committed
Merge pull request #49 from BurrrY/master
Add Settings-Page to manage Logfiles.
2 parents 9363969 + ce3ff43 commit e5ca484

File tree

7 files changed

+149
-29
lines changed

7 files changed

+149
-29
lines changed

FusionLang_de.qm

-453 Bytes
Binary file not shown.

FusionLang_de.ts

Lines changed: 39 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@
137137
</message>
138138
<message>
139139
<location filename="fsettingsdialog.ui" line="276"/>
140-
<location filename="fsettingsdialog.ui" line="566"/>
140+
<location filename="fsettingsdialog.ui" line="600"/>
141141
<source>...</source>
142142
<translation>...</translation>
143143
</message>
@@ -203,7 +203,17 @@
203203
<translation>...</translation>
204204
</message>
205205
<message>
206-
<location filename="fsettingsdialog.ui" line="583"/>
206+
<location filename="fsettingsdialog.ui" line="563"/>
207+
<source>Delete Logfiles</source>
208+
<translation>Lösche Logfiles</translation>
209+
</message>
210+
<message>
211+
<location filename="fsettingsdialog.ui" line="570"/>
212+
<source>Open Folder</source>
213+
<translation>Öffne Log-Ordner</translation>
214+
</message>
215+
<message>
216+
<location filename="fsettingsdialog.ui" line="617"/>
207217
<source>To enable Syncing, select the Savegame-Folder in the Settings Dialog in each game, and a synced Directory here - for Example an Dropbox or OwnCloud folder.
208218

209219
Fusion will then keep these Directorys up to date by overriding the old data.
@@ -245,13 +255,13 @@ $GAMEPATH Pfad zum Spiel
245255
$GAMEEXE Name des Ausführbaren Datei, relativ zu $GAMEPATH</translation>
246256
</message>
247257
<message>
248-
<location filename="fsettingsdialog.ui" line="573"/>
258+
<location filename="fsettingsdialog.ui" line="607"/>
249259
<source>Local saved Backups:</source>
250260
<translation>Anzahl Backups:</translation>
251261
</message>
252262
<message>
253-
<location filename="fsettingsdialog.ui" line="553"/>
254-
<location filename="fsettingsdialog.cpp" line="215"/>
263+
<location filename="fsettingsdialog.ui" line="587"/>
264+
<location filename="fsettingsdialog.cpp" line="267"/>
255265
<source>Target-Dir</source>
256266
<translation>Ziel-Verzeichnis</translation>
257267
</message>
@@ -286,77 +296,82 @@ $GAMEEXE Name des Ausführbaren Datei, relativ zu $GAMEPATH</translation>
286296
<translation>Launcher</translation>
287297
</message>
288298
<message>
289-
<location filename="fsettingsdialog.cpp" line="100"/>
299+
<location filename="fsettingsdialog.cpp" line="24"/>
300+
<source>Logfiles</source>
301+
<translation>Logfiles</translation>
302+
</message>
303+
<message>
304+
<location filename="fsettingsdialog.cpp" line="152"/>
290305
<source>Choose stylesheet</source>
291306
<translation>Wähle Stylesheet</translation>
292307
</message>
293308
<message>
294-
<location filename="fsettingsdialog.cpp" line="153"/>
295-
<location filename="fsettingsdialog.cpp" line="158"/>
296-
<location filename="fsettingsdialog.cpp" line="168"/>
309+
<location filename="fsettingsdialog.cpp" line="205"/>
310+
<location filename="fsettingsdialog.cpp" line="210"/>
311+
<location filename="fsettingsdialog.cpp" line="220"/>
297312
<source>Error</source>
298313
<translation>Fehler</translation>
299314
</message>
300315
<message>
301-
<location filename="fsettingsdialog.cpp" line="153"/>
316+
<location filename="fsettingsdialog.cpp" line="205"/>
302317
<source>Please set a name.</source>
303318
<translation>Bitte Namen angeben.</translation>
304319
</message>
305320
<message>
306-
<location filename="fsettingsdialog.cpp" line="158"/>
321+
<location filename="fsettingsdialog.cpp" line="210"/>
307322
<source>Please set a path.</source>
308323
<translation>Bitte Pfad angeben</translation>
309324
</message>
310325
<message>
311-
<location filename="fsettingsdialog.cpp" line="168"/>
326+
<location filename="fsettingsdialog.cpp" line="220"/>
312327
<source>This name already exists!</source>
313328
<translation>Dieser Name existiert bereits!</translation>
314329
</message>
315330
<message>
316-
<location filename="fsettingsdialog.cpp" line="189"/>
331+
<location filename="fsettingsdialog.cpp" line="241"/>
317332
<source>Choose launcher</source>
318333
<translation>Wähle Launcher</translation>
319334
</message>
320335
<message>
321-
<location filename="fsettingsdialog.cpp" line="236"/>
322-
<location filename="fsettingsdialog.cpp" line="270"/>
336+
<location filename="fsettingsdialog.cpp" line="288"/>
337+
<location filename="fsettingsdialog.cpp" line="322"/>
323338
<source>Please confirm!</source>
324339
<translation>Bitte bestätigen!</translation>
325340
</message>
326341
<message>
327-
<location filename="fsettingsdialog.cpp" line="236"/>
342+
<location filename="fsettingsdialog.cpp" line="288"/>
328343
<source>If artwork is found, existing artwork will be overwritten!</source>
329344
<translation>Wird Artwork gefunden, werden vorhandene Grafiken ersetzt!</translation>
330345
</message>
331346
<message>
332-
<location filename="fsettingsdialog.cpp" line="256"/>
347+
<location filename="fsettingsdialog.cpp" line="308"/>
333348
<source>Choose the library folder</source>
334349
<translation>Wähle einen Ordner</translation>
335350
</message>
336351
<message>
337-
<location filename="fsettingsdialog.cpp" line="270"/>
352+
<location filename="fsettingsdialog.cpp" line="322"/>
338353
<source>Do you really want to remove</source>
339354
<translation>Willst du folgenden Pfad wirklich entfernen?
340355
</translation>
341356
</message>
342357
<message>
343-
<location filename="fsettingsdialog.cpp" line="270"/>
358+
<location filename="fsettingsdialog.cpp" line="322"/>
344359
<source>The games inside won&apos;t be removed from your disk.</source>
345360
<translation>Die Spiele im Ordner werden nicht entfernt</translation>
346361
</message>
347362
<message>
348-
<location filename="fsettingsdialog.cpp" line="292"/>
349-
<location filename="fsettingsdialog.cpp" line="300"/>
363+
<location filename="fsettingsdialog.cpp" line="342"/>
364+
<location filename="fsettingsdialog.cpp" line="350"/>
350365
<source>Running downloads:</source>
351366
<translation>Laufende Downloads:</translation>
352367
</message>
353368
<message>
354-
<location filename="fsettingsdialog.cpp" line="294"/>
369+
<location filename="fsettingsdialog.cpp" line="344"/>
355370
<source>Downloads finished</source>
356371
<translation>Downloads beendet</translation>
357372
</message>
358373
<message numerus="yes">
359-
<location filename="fsettingsdialog.cpp" line="294"/>
374+
<location filename="fsettingsdialog.cpp" line="344"/>
360375
<source>Finished %n download(s)</source>
361376
<translation>
362377
<numerusform>%n Download beendet</numerusform>
@@ -543,7 +558,7 @@ Game</source>
543558
<message>
544559
<location filename="mainwindow.ui" line="232"/>
545560
<source>LIBRARY</source>
546-
<translation>LIBRARY</translation>
561+
<translation type="unfinished">BIBLIOTHEK</translation>
547562
</message>
548563
<message>
549564
<location filename="mainwindow.ui" line="400"/>

addgamedialog.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "ui_addgamedialog.h"
33
#include "fgame.h"
44
#include <QFileDialog>
5+
#include <QMessageBox>
56
#include "fdb.h"
67
#include "flauncher.h"
78

@@ -56,6 +57,22 @@ void AddGameDialog::on_chooseGameExecutableButton_clicked()
5657
void AddGameDialog::on_buttonBox_accepted()
5758
{
5859
game.setName(ui->gameNameEdit->text());
60+
61+
if(game.getName().length() <= 0) {
62+
QMessageBox::warning(this, "Please fill all fields!", "You have to fill the name-field!", QMessageBox::Ok);
63+
return;
64+
}
65+
66+
if(game.getExe().length() <= 0) {
67+
QMessageBox::warning(this, "Please fill all fields!", "You have to set an executable!", QMessageBox::Ok);
68+
return;
69+
}
70+
71+
if(game.getPath().length() <= 0) {
72+
QMessageBox::warning(this, "Please fill all fields!", "You have to set a path!", QMessageBox::Ok);
73+
return;
74+
}
75+
5976
game.setCommand(ui->gameCommandEdit->text());
6077
game.setArgs(QStringList(ui->gameArgsEdit->text()));
6178
game.setType(Executable);

fsettingsdialog.cpp

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ FSettingsDialog::FSettingsDialog(FDB *db, QWidget *parent) :
2121
ui->listWidget->addItem(tr("Artwork"));
2222
ui->listWidget->addItem(tr("Watched Folders"));
2323
ui->listWidget->addItem(tr("Launchers"));
24+
ui->listWidget->addItem(tr("Logfiles"));
2425
// ui->listWidget->addItem(tr("Savegame-Sync"));
2526
ui->listWidget->setCurrentRow(0);
2627

@@ -40,7 +41,7 @@ FSettingsDialog::FSettingsDialog(FDB *db, QWidget *parent) :
4041
ui->cb_int_language->setCurrentIndex(idx);
4142
#endif
4243

43-
//##########################
44+
//=================================
4445
//WatchedFolders
4546
QList<FWatchedFolder> tmpList = db->getWatchedFoldersList();
4647
ui->lw_Folder_FolderList->clear();
@@ -50,13 +51,13 @@ FSettingsDialog::FSettingsDialog(FDB *db, QWidget *parent) :
5051
ui->lw_Folder_FolderList->addItem(tmpList[i].getDirectory().absolutePath());
5152
}
5253

53-
//##########################
54+
//=================================
5455
// LAUNCHERS
5556

5657
loadLaunchers();
5758

5859

59-
//##########################
60+
//=================================
6061
//Savegame-Sync
6162
ui->le_sync_path->setText(db->getTextPref("sync_target", ""));
6263
ui->sb_sync_backups->setValue(db->getIntPref("sync_No_of_Backups", 0));
@@ -66,6 +67,47 @@ FSettingsDialog::FSettingsDialog(FDB *db, QWidget *parent) :
6667
ui->cb_gen_useTrayIcon->setChecked(db->getBoolPref("useTrayIcon", true));
6768

6869

70+
//=================================
71+
// Log-Files
72+
loadLogfiles();
73+
74+
}
75+
76+
void FSettingsDialog::loadLogfiles() {
77+
ui->lw_log_logfiles->clear();
78+
79+
QDir logDir = LibFusion::getWorkingDir().absolutePath() + QDir::separator() + "Logs";
80+
QStringList logfiles = logDir.entryList();
81+
for(QString log : logfiles) {
82+
if(log.length()>3) //do skip "." and ".." and other wrong stuff
83+
ui->lw_log_logfiles->addItem(log);
84+
}
85+
86+
87+
}
88+
89+
void FSettingsDialog::on_pb_log_openFolder_clicked()
90+
{
91+
92+
QDir logDir = LibFusion::getWorkingDir().absolutePath() + QDir::separator() + "Logs";
93+
QDesktopServices::openUrl(logDir.absolutePath());
94+
}
95+
96+
void FSettingsDialog::on_pb_log_clear_clicked()
97+
{
98+
if(QMessageBox::question(this, "Please Confirm", "Do you really want to delete all Logfiles?", QMessageBox::Yes, QMessageBox::No) == QMessageBox::No)
99+
return;
100+
101+
QDir logDir = LibFusion::getWorkingDir().absolutePath() + QDir::separator() + "Logs";
102+
QStringList logfiles = logDir.entryList();
103+
for(QString log : logfiles) {
104+
if(log.length()>3) //do skip "." and ".." and other wrong stuff
105+
{
106+
QFile::remove(logDir.absolutePath() + "/" + log); // logfile(logDir + "/" + log);
107+
}
108+
}
109+
110+
loadLogfiles();
69111
}
70112

71113
FSettingsDialog::~FSettingsDialog()
@@ -98,6 +140,13 @@ void FSettingsDialog::on_listWidget_currentRowChanged(int i)
98140
ui->settingPages->setCurrentIndex(i);
99141
}
100142

143+
void FSettingsDialog::on_lw_log_logfiles_itemDoubleClicked(QListWidgetItem *item)
144+
{
145+
QDir logDir = LibFusion::getWorkingDir().absolutePath() + QDir::separator() + "Logs";
146+
QString filename = item->text();
147+
QDesktopServices::openUrl(logDir.absolutePath() + "/" + filename);
148+
}
149+
101150
void FSettingsDialog::on_pb_selectStylesheet_clicked()
102151
{
103152
QString stylesheetFile = QFileDialog::getOpenFileName(this, tr("Choose stylesheet"), QDir::homePath(), "*.qss");

fsettingsdialog.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,13 @@ class FSettingsDialog : public QDialog
3535
FLauncher *selectedLauncher;
3636
void loadLaunchers();
3737
void updateLauncher();
38+
void loadLogfiles();
3839
private slots:
40+
void on_pb_log_openFolder_clicked();
41+
void on_pb_log_clear_clicked();
42+
3943
void on_listWidget_currentRowChanged(int i);
44+
void on_lw_log_logfiles_itemDoubleClicked(QListWidgetItem * item);
4045

4146
void on_pb_selectStylesheet_clicked();
4247
void on_pb_ResetStylesheet_clicked();

fsettingsdialog.ui

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
<locale language="English" country="UnitedStates"/>
7070
</property>
7171
<property name="currentIndex">
72-
<number>2</number>
72+
<number>6</number>
7373
</property>
7474
<widget class="QWidget" name="General">
7575
<layout class="QVBoxLayout" name="verticalLayout_2">
@@ -539,6 +539,40 @@ $GAMEEXE The path to the executable, relative to $GAMEPATH</string>
539539
</item>
540540
</layout>
541541
</widget>
542+
<widget class="QWidget" name="Logfiles">
543+
<layout class="QFormLayout" name="formLayout_2">
544+
<item row="0" column="0" colspan="2">
545+
<widget class="QListWidget" name="lw_log_logfiles"/>
546+
</item>
547+
<item row="4" column="1">
548+
<spacer name="horizontalSpacer">
549+
<property name="orientation">
550+
<enum>Qt::Horizontal</enum>
551+
</property>
552+
<property name="sizeHint" stdset="0">
553+
<size>
554+
<width>40</width>
555+
<height>20</height>
556+
</size>
557+
</property>
558+
</spacer>
559+
</item>
560+
<item row="2" column="0">
561+
<widget class="QPushButton" name="pb_log_clear">
562+
<property name="text">
563+
<string>Delete Logfiles</string>
564+
</property>
565+
</widget>
566+
</item>
567+
<item row="1" column="0">
568+
<widget class="QPushButton" name="pb_log_openFolder">
569+
<property name="text">
570+
<string>Open Folder</string>
571+
</property>
572+
</widget>
573+
</item>
574+
</layout>
575+
</widget>
542576
<widget class="QWidget" name="gameSync">
543577
<layout class="QGridLayout" name="gridLayout_4">
544578
<item row="2" column="1">

mainwindow.ui

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@
444444
<item>
445445
<widget class="QLabel" name="lbl_lastPlayed">
446446
<property name="text">
447-
<string>lbl_lastPlayed</string>
447+
<string/>
448448
</property>
449449
</widget>
450450
</item>

0 commit comments

Comments
 (0)