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