New parameters setting window + some fixes.

git-svn-id: svn://svn.code.sf.net/p/hxcfloppyemu/code/HxCFloppyEmulator/HxCFloppyEmulator_software/trunk@1827 63fa2f70-6a9b-4bc4-b855-9c6a949b1d69
This commit is contained in:
Jean-François DEL NERO committed 2019-12-05 09:04:52 +00:00
1 parent abb0c87acf
commit c723bbe68e
5 files changed
+34 -23

No files matched your search

+4 -1
View File
@@ -48,7 +48,7 @@ EXEC=hxcfloppyemulator
FTDIFLOPPYEMU=usb_hxcfloppyemulator.o variablebitrate.o
GUI = main_gui.o msg_txt.o gui_strings.o about_gui.o batch_converter_window.o floppy_dump_window.o floppy_infos_window.o license_gui.o log.o rawfile_loader_window.o sdhxcfecfg_window.o usbhxcfecfg_window.o cb_batch_converter_window.o cb_floppy_dump_window.o cb_floppy_infos_window.o cb_rawfile_loader_window.o cb_sdhxcfecfg_window.o cb_usbhxcfecfg_window.o cb_filesystem_generator_window.o filesystem_generator_window.o cb_edittool_window.o edittool_window.o
GUI = main_gui.o msg_txt.o gui_strings.o about_gui.o batch_converter_window.o floppy_dump_window.o floppy_infos_window.o license_gui.o log.o parameters.o rawfile_loader_window.o sdhxcfecfg_window.o usbhxcfecfg_window.o cb_batch_converter_window.o cb_floppy_dump_window.o cb_floppy_infos_window.o cb_rawfile_loader_window.o cb_sdhxcfecfg_window.o cb_usbhxcfecfg_window.o cb_filesystem_generator_window.o filesystem_generator_window.o cb_edittool_window.o edittool_window.o
MICROINTRO = microintro.o lzw.o pack.o rle.o hxcmod.o
FLTKLIB = ../sources/thirdpartylibs/fltk/fltk-1.3.x/lib/libfltk.a ../sources/thirdpartylibs/fltk/fltk-1.3.x/lib/libfltk_images.a
@@ -131,6 +131,9 @@ license_gui.o : ../sources/gui/license_gui.cxx
log.o : ../sources/gui/log.cxx
$(CPP) -o $@ -c $< $(CFLAGS)
parameters.o : ../sources/gui/parameters.cxx
$(CPP) -o $@ -c $< $(CFLAGS)
main_gui.o : ../sources/gui/main_gui.cxx
$(CPP) -o $@ -c $< $(CFLAGS)
@@ -66,6 +66,7 @@
#include "edittool_window.h"
#include "log_gui.h"
#include "about_gui.h"
#include "parameters_gui.h"
#include "soft_cfg_file.h"
#include "fl_dnd_box.h"
@@ -207,6 +208,11 @@ void menu_clicked(Fl_Widget * w, void * fc_ptr)
case 14:
Fl::scheme("gleam");
break;
case 15:
mw->parameters_box = new Parameters_box();
mw->parameters_box->show();
break;
}
}
@@ -435,12 +441,11 @@ void load_file_image(Fl_Widget * w, void * fc_ptr)
}
}
void save_file_image(Fl_Widget * w, void * fc_ptr)
{
int i;
Fl_Native_File_Chooser fnfc;
unsigned char deffilename[512];
unsigned char deffilename[DEFAULT_TEXT_BUFFER_SIZE + 128];
if(!guicontext->loadedfloppy)
{
@@ -448,8 +453,8 @@ void save_file_image(Fl_Widget * w, void * fc_ptr)
}
else
{
snprintf((char*)deffilename, sizeof(deffilename), "%s", guicontext->bufferfilename);
sprintf((char*)deffilename,"%s",guicontext->bufferfilename);
i=0;
while(deffilename[i]!=0)
{
@@ -597,14 +602,14 @@ void dnd_cb(Fl_Widget *o, void *v)
static void tick_mw(void *v) {
Main_Window *window;
int i,j;
char tempstr[1024];
char tempstr2[1024];
char tempstr[DEFAULT_TEXT_BUFFER_SIZE + 128];
char tempstr2[DEFAULT_TEXT_BUFFER_SIZE + 128];
window=(Main_Window *)v;
if(guicontext->loadedfloppy && strlen(guicontext->bufferfilename))
{
sprintf(tempstr,"%s - %d track(s) %d side(s) ",guicontext->bufferfilename,hxcfe_getNumberOfTrack(guicontext->hxcfe,guicontext->loadedfloppy),hxcfe_getNumberOfSide(guicontext->hxcfe,guicontext->loadedfloppy));
snprintf(tempstr, sizeof(tempstr), "%s - %d track(s) %d side(s) ",guicontext->bufferfilename,hxcfe_getNumberOfTrack(guicontext->hxcfe,guicontext->loadedfloppy),hxcfe_getNumberOfSide(guicontext->hxcfe,guicontext->loadedfloppy));
if( guicontext->txtindex >= strlen(tempstr) )
{
@@ -620,6 +625,7 @@ static void tick_mw(void *v) {
j++;
if(j>=(int)strlen(tempstr)) j=0;
}while(i<(int)strlen(tempstr));
tempstr2[i]=0;
j = strlen(tempstr2);
memcpy(&tempstr2[i],tempstr2,j);
@@ -646,7 +652,7 @@ static void tick_mw(void *v) {
window->file_name_txt->value((const char*)"Load error! Read file error!");
break;
default:
sprintf(tempstr2,"Load error! error %d",guicontext->loadstatus);
snprintf(tempstr2, sizeof(tempstr2), "Load error! error %d",guicontext->loadstatus);
window->file_name_txt->value((const char*)tempstr2);
break;
}
@@ -659,7 +665,8 @@ static void tick_mw(void *v) {
if(guicontext->loading)
{
sprintf(tempstr,"Loading : %s",guicontext->bufferfilename);
snprintf(tempstr,sizeof(tempstr),"Loading : %s",guicontext->bufferfilename);
window->file_name_txt->value((const char*)tempstr);
window->track_pos->minimum(0);
window->track_pos->maximum( (float)100);
@@ -669,7 +676,7 @@ static void tick_mw(void *v) {
{
if(guicontext->loadedfloppy)
{
sprintf(tempstr,"Track %d/%d",libusbhxcfe_getCurTrack(guicontext->hxcfe,guicontext->usbhxcfe),hxcfe_getNumberOfTrack(guicontext->hxcfe,guicontext->loadedfloppy));
snprintf(tempstr,sizeof(tempstr),"Track %d/%d",libusbhxcfe_getCurTrack(guicontext->hxcfe,guicontext->usbhxcfe),hxcfe_getNumberOfTrack(guicontext->hxcfe,guicontext->loadedfloppy));
window->track_pos_str->value((const char*)tempstr);
window->track_pos->minimum(0);
@@ -680,13 +687,14 @@ static void tick_mw(void *v) {
}
else
{
sprintf(tempstr,"Exporting : %s",guicontext->bufferfilename);
snprintf(tempstr,sizeof(tempstr),"Exporting : %s",guicontext->bufferfilename);
window->file_name_txt->value((const char*)tempstr);
//window->track_pos->color(0x000000FF);
window->track_pos->minimum(0);
window->track_pos->maximum( (float)100);
window->track_pos->value( (float)guicontext->loadingprogess);
}
#endif
if(guicontext->autoselectmode)
@@ -744,7 +752,6 @@ static void tick_mw(void *v) {
window->usbcfg_window->chk_doublestep->value(0);
}
if(window->sdcfg_window->choice_interfacemode_drva_cfg->value() != 13)
{
window->sdcfg_window->choice_pin02_drva->deactivate();
@@ -799,7 +806,6 @@ static void tick_mw(void *v) {
window->batchconv_window->bt_convert->redraw();
Fl::repeat_timeout(0.10, tick_mw, v);
}
Main_Window::Main_Window()
@@ -9,7 +9,7 @@ typedef struct main_button_list_
// Main class...
class Main_Window : public Fl_Window {
Fl_Button *button_load;
Fl_Button *button_loadrawimg;
Fl_Button *button_batchconverter;
@@ -19,14 +19,13 @@ class Main_Window : public Fl_Window {
Fl_Button *button_usbhxcfesettings;
Fl_Button *button_floppydump;
Fl_Box* o;
Fl_Window *window;
int evt;
char *evt_txt;
int evt_len;
char *evt_txt;
int evt_len;
public:
batch_converter_window *batchconv_window;
@@ -38,6 +37,7 @@ class Main_Window : public Fl_Window {
usbhxcfecfg_window * usbcfg_window;
trackedittool_window * trackedit_window;
Parameters_box * parameters_box;
Log_box * log_box;
About_box *about_window;
@@ -103,8 +103,9 @@ Fl_Menu_Item menutable[] = {
{0},
#ifndef OEM_MODE
{"&Settings",FL_F+2,0,0,FL_SUBMENU},
{"SD HxC Floppy Emulator settings", FL_ALT+'l',menu_clicked,(void*)5},
{"USB HxC Floppy Emulator settings", FL_ALT+'s',menu_clicked,(void*)6},
{"SD HxC Floppy Emulator settings", FL_ALT+'l', menu_clicked, (void*)5},
{"USB HxC Floppy Emulator settings", FL_ALT+'s', menu_clicked, (void*)6},
{"Internal parameters", FL_ALT+'p', menu_clicked, (void*)15},
{0},
#else
{"&Settings",FL_F+2,0,0,FL_SUBMENU},
+5 -4
View File
@@ -1,8 +1,9 @@
#define DEFAULT_TEXT_BUFFER_SIZE 4096
typedef struct s_gui_context_
{
char bufferfilename[4096];
char buffertext[4096];
char bufferfilename[DEFAULT_TEXT_BUFFER_SIZE];
char buffertext[DEFAULT_TEXT_BUFFER_SIZE];
char * logfile;
@@ -41,10 +42,10 @@ typedef struct s_gui_context_
int updatefloppyfs;
char last_loaded_image_path[4096];
char last_loaded_image_path[DEFAULT_TEXT_BUFFER_SIZE];
int loaded_img_modified;
char xml_file_path[1024];
char xml_file_path[DEFAULT_TEXT_BUFFER_SIZE];
void * main_window;