mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-25 15:45:26 -07:00
tweak save
This commit is contained in:
parent
0cc2bda952
commit
3b4f851d2d
4 changed files with 27 additions and 7 deletions
|
@ -49,6 +49,7 @@ int preferences_load (void) {
|
||||||
|
|
||||||
// Set all defaults
|
// Set all defaults
|
||||||
session.client_debug_level = OFF;
|
session.client_debug_level = OFF;
|
||||||
|
session.window_changed = false;
|
||||||
session.window_plot_xpos = 10;
|
session.window_plot_xpos = 10;
|
||||||
session.window_plot_ypos = 30;
|
session.window_plot_ypos = 30;
|
||||||
session.window_plot_hsize = 400;
|
session.window_plot_hsize = 400;
|
||||||
|
@ -61,6 +62,7 @@ int preferences_load (void) {
|
||||||
session.show_hints = false;
|
session.show_hints = false;
|
||||||
session.supports_colors = false;
|
session.supports_colors = false;
|
||||||
|
|
||||||
|
|
||||||
// loadFileJson wants these, so pass in place holder values, though not used
|
// loadFileJson wants these, so pass in place holder values, though not used
|
||||||
// in settings load;
|
// in settings load;
|
||||||
uint8_t dummyData = 0x00;
|
uint8_t dummyData = 0x00;
|
||||||
|
@ -78,6 +80,7 @@ int preferences_load (void) {
|
||||||
// Save all settings from memory (struct) to file
|
// Save all settings from memory (struct) to file
|
||||||
int preferences_save (void) {
|
int preferences_save (void) {
|
||||||
// Note sure if backup has value ?
|
// Note sure if backup has value ?
|
||||||
|
|
||||||
char backupFilename[FILENAME_MAX+sizeof(preferencesFilename)+10] = {0};
|
char backupFilename[FILENAME_MAX+sizeof(preferencesFilename)+10] = {0};
|
||||||
|
|
||||||
PrintAndLogEx(INFO,"Saving preferences ...");
|
PrintAndLogEx(INFO,"Saving preferences ...");
|
||||||
|
@ -353,6 +356,7 @@ static int setCmdEmoji (const char *Cmd) {
|
||||||
showEmojiState (prefShowOLD);
|
showEmojiState (prefShowOLD);
|
||||||
session.emoji_mode = newValue;
|
session.emoji_mode = newValue;
|
||||||
showEmojiState (prefShowNEW);
|
showEmojiState (prefShowNEW);
|
||||||
|
preferences_save ();
|
||||||
} else {
|
} else {
|
||||||
PrintAndLogEx(INFO,"nothing changed");
|
PrintAndLogEx(INFO,"nothing changed");
|
||||||
showEmojiState (prefShowNone);
|
showEmojiState (prefShowNone);
|
||||||
|
@ -399,6 +403,7 @@ static int setCmdColor (const char *Cmd)
|
||||||
showColorState (prefShowOLD);
|
showColorState (prefShowOLD);
|
||||||
session.supports_colors = newValue;
|
session.supports_colors = newValue;
|
||||||
showColorState (prefShowNEW);
|
showColorState (prefShowNEW);
|
||||||
|
preferences_save ();
|
||||||
} else {
|
} else {
|
||||||
PrintAndLogEx(INFO,"nothing changed");
|
PrintAndLogEx(INFO,"nothing changed");
|
||||||
showColorState (prefShowNone);
|
showColorState (prefShowNone);
|
||||||
|
@ -450,6 +455,7 @@ static int setCmdDebug (const char *Cmd)
|
||||||
session.client_debug_level = newValue;
|
session.client_debug_level = newValue;
|
||||||
g_debugMode = newValue;
|
g_debugMode = newValue;
|
||||||
showClientDebugState (prefShowNEW);
|
showClientDebugState (prefShowNEW);
|
||||||
|
preferences_save ();
|
||||||
} else {
|
} else {
|
||||||
PrintAndLogEx(INFO,"nothing changed");
|
PrintAndLogEx(INFO,"nothing changed");
|
||||||
showClientDebugState (prefShowNone);
|
showClientDebugState (prefShowNone);
|
||||||
|
@ -496,6 +502,7 @@ static int setCmdHint (const char *Cmd)
|
||||||
showHintsState (prefShowOLD);
|
showHintsState (prefShowOLD);
|
||||||
session.show_hints = newValue;
|
session.show_hints = newValue;
|
||||||
showHintsState (prefShowNEW);
|
showHintsState (prefShowNEW);
|
||||||
|
preferences_save ();
|
||||||
} else {
|
} else {
|
||||||
PrintAndLogEx(INFO,"nothing changed");
|
PrintAndLogEx(INFO,"nothing changed");
|
||||||
showHintsState (prefShowNone);
|
showHintsState (prefShowNone);
|
||||||
|
@ -546,8 +553,8 @@ static int CmdPrefShow (const char *Cmd) {
|
||||||
|
|
||||||
showEmojiState (prefShowNone);
|
showEmojiState (prefShowNone);
|
||||||
showColorState (prefShowNone);
|
showColorState (prefShowNone);
|
||||||
showPlotPosState ();
|
// showPlotPosState ();
|
||||||
showOverlayPosState ();
|
// showOverlayPosState ();
|
||||||
showClientDebugState(prefShowNone);
|
showClientDebugState(prefShowNone);
|
||||||
showHintsState (prefShowNone);
|
showHintsState (prefShowNone);
|
||||||
|
|
||||||
|
@ -555,18 +562,18 @@ static int CmdPrefShow (const char *Cmd) {
|
||||||
|
|
||||||
return PM3_SUCCESS;
|
return PM3_SUCCESS;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
static int CmdPrefSave (const char *Cmd) {
|
static int CmdPrefSave (const char *Cmd) {
|
||||||
preferences_save();
|
preferences_save();
|
||||||
|
|
||||||
return PM3_SUCCESS;
|
return PM3_SUCCESS;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
static command_t CommandTable[] = {
|
static command_t CommandTable[] = {
|
||||||
{"help", CmdHelp, AlwaysAvailable, "This help"},
|
{"help", CmdHelp, AlwaysAvailable, "This help"},
|
||||||
{"set", CmdPrefSet, AlwaysAvailable, "Set a preference"},
|
{"set", CmdPrefSet, AlwaysAvailable, "Set a preference"},
|
||||||
{"show", CmdPrefShow, AlwaysAvailable, "Show preferences"},
|
{"show", CmdPrefShow, AlwaysAvailable, "Show preferences"},
|
||||||
{"save", CmdPrefSave, AlwaysAvailable, "Save preferences now"},
|
// {"save", CmdPrefSave, AlwaysAvailable, "Save preferences now"},
|
||||||
{NULL, NULL, NULL, NULL}
|
{NULL, NULL, NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
#include <QtGui>
|
#include <QtGui>
|
||||||
#include "ui.h"
|
#include "ui.h"
|
||||||
|
|
||||||
|
extern "C" int preferences_save (void);
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include "util_darwin.h"
|
#include "util_darwin.h"
|
||||||
}
|
}
|
||||||
|
@ -145,11 +147,14 @@ SliderWidget::SliderWidget() {
|
||||||
void SliderWidget::resizeEvent (QResizeEvent *event) {
|
void SliderWidget::resizeEvent (QResizeEvent *event) {
|
||||||
session.window_overlay_hsize = event->size().height();
|
session.window_overlay_hsize = event->size().height();
|
||||||
session.window_overlay_wsize = event->size().width();
|
session.window_overlay_wsize = event->size().width();
|
||||||
|
session.window_changed = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SliderWidget::moveEvent (QMoveEvent *event) {
|
void SliderWidget::moveEvent (QMoveEvent *event) {
|
||||||
session.window_overlay_xpos = event->pos().x();
|
session.window_overlay_xpos = event->pos().x();
|
||||||
session.window_overlay_ypos = event->pos().y();
|
session.window_overlay_ypos = event->pos().y();
|
||||||
|
session.window_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------
|
//--------------------
|
||||||
|
@ -246,6 +251,10 @@ ProxWidget::ProxWidget(QWidget *parent, ProxGuiQT *master) : QWidget(parent) {
|
||||||
controlWidget->setWindowTitle(ct);
|
controlWidget->setWindowTitle(ct);
|
||||||
|
|
||||||
controlWidget->show();
|
controlWidget->show();
|
||||||
|
|
||||||
|
// now that is up, reset pos/size change flags
|
||||||
|
session.window_changed = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// not 100% sure what i need in this block
|
// not 100% sure what i need in this block
|
||||||
|
@ -268,6 +277,7 @@ ProxWidget::~ProxWidget(void) {
|
||||||
plot = NULL;
|
plot = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProxWidget::closeEvent(QCloseEvent *event) {
|
void ProxWidget::closeEvent(QCloseEvent *event) {
|
||||||
event->ignore();
|
event->ignore();
|
||||||
this->hide();
|
this->hide();
|
||||||
|
@ -284,11 +294,12 @@ void ProxWidget::showEvent(QShowEvent *event) {
|
||||||
void ProxWidget::moveEvent(QMoveEvent *event) {
|
void ProxWidget::moveEvent(QMoveEvent *event) {
|
||||||
session.window_plot_xpos = event->pos().x();
|
session.window_plot_xpos = event->pos().x();
|
||||||
session.window_plot_ypos = event->pos().y();
|
session.window_plot_ypos = event->pos().y();
|
||||||
|
session.window_changed = true;
|
||||||
}
|
}
|
||||||
void ProxWidget::resizeEvent(QResizeEvent *event) {
|
void ProxWidget::resizeEvent(QResizeEvent *event) {
|
||||||
session.window_plot_hsize = event->size().height();
|
session.window_plot_hsize = event->size().height();
|
||||||
session.window_plot_wsize = event->size().width();
|
session.window_plot_wsize = event->size().width();
|
||||||
|
session.window_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------- Plotting
|
//----------- Plotting
|
||||||
|
|
|
@ -949,7 +949,8 @@ int main(int argc, char *argv[]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_PREFERENCE_FILE
|
#ifdef USE_PREFERENCE_FILE
|
||||||
preferences_save ();
|
if (session.window_changed) // Plot/Overlay moved or resized
|
||||||
|
preferences_save ();
|
||||||
#endif
|
#endif
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,7 @@ typedef struct {
|
||||||
bool pm3_present;
|
bool pm3_present;
|
||||||
bool help_dump_mode;
|
bool help_dump_mode;
|
||||||
bool show_hints;
|
bool show_hints;
|
||||||
|
bool window_changed; // track if plot/overlay pos/size changed to save on exit
|
||||||
int window_plot_xpos;
|
int window_plot_xpos;
|
||||||
int window_plot_ypos;
|
int window_plot_ypos;
|
||||||
int window_plot_hsize;
|
int window_plot_hsize;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue