Skip to content

Commit 4a6b73d

Browse files
Config Save As(Save Images Path)
1 parent 8717aec commit 4a6b73d

File tree

6 files changed

+77
-22
lines changed

6 files changed

+77
-22
lines changed

sources/libcpp83gts_callback_and_action/cb_config.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include "ids_path_level_from_files.h"
66
#include "ids_path_fltk_native_browse.h"
77
#include "cb_config.h"
8+
#include "gts_gui.h"
89
#include "gts_master.h"
910

1011
int cb_config::loading_and_set_dpath_fname(
@@ -209,6 +210,44 @@ void cb_config::save_as( void )
209210
cl_gts_master.print_window_headline();
210211
}
211212

213+
void cb_config::save_as_save_images_path( void )
214+
{
215+
/* NativeブラウザーSaveで開く */
216+
int filter_current=0;
217+
std::string fpath = ids::path::fltk_native_browse_save(
218+
"Save Config As"
219+
,cl_gts_gui.filinp_scan_save_dir_path->value()
220+
,cl_gts_gui.strinp_scan_save_file_head->value()
221+
,std::string("Text(Config)\t*")+this->ext_
222+
,filter_current
223+
).at(0);
224+
/* Cancel */
225+
if (fpath.empty()) {
226+
return;
227+
}
228+
229+
/* 拡張子がなければ追加 */
230+
this->add_ext_if_not_exist( fpath );
231+
232+
/* config情報を保存する */
233+
if (OK != cl_gts_master.cl_memo_config.save( fpath )) {
234+
pri_funct_err_bttvr(
235+
"Error : cl_gts_master.cl_memo_config.save(%s) returns NG",
236+
fpath.c_str() );
237+
return;
238+
}
239+
240+
/* 保存名を記憶(開いた名前は変わらない) */
241+
ids::path::from_fpath_to_dpath_fname(
242+
fpath
243+
,this->dir_path_
244+
,this->save_file_name_
245+
);
246+
247+
/* 記憶した名前を表示する */
248+
cl_gts_master.print_window_headline();
249+
}
250+
212251
void cb_config::save( void )
213252
{
214253
/* まだconfigファイルをOpenもSaveAsもしていない */

sources/libcpp83gts_callback_and_action/cb_config.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class cb_config {
1919
void open_only_pixel_type_and_bright( void );
2020
void open_only_trace_params( void );
2121
void save_as(void);
22+
void save_as_save_images_path( void );
2223
void save(void);
2324

2425
void add_ext_if_not_exist( std::string&fpath );

sources/libcpp83gts_callback_and_action/gts_gui.cpp

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ void gts_gui::cb_Save2(Fl_Menu_* o, void* v) {
5353
((gts_gui*)(o->parent()->user_data()))->cb_Save2_i(o,v);
5454
}
5555

56+
void gts_gui::cb_Save3_i(Fl_Menu_*, void*) {
57+
cl_gts_master.cl_config.save_as_save_images_path();
58+
}
59+
void gts_gui::cb_Save3(Fl_Menu_* o, void* v) {
60+
((gts_gui*)(o->parent()->user_data()))->cb_Save3_i(o,v);
61+
}
62+
5663
void gts_gui::cb_Quit_i(Fl_Menu_*, void*) {
5764
// cl_gts_master.reserve_by_menu(E_ACT_QUIT);
5865
cl_gts_master.cb_quit();
@@ -396,7 +403,8 @@ Fl_Menu_Item gts_gui::menu_[] = {
396403
{"Save Image As...", 0x50073, (Fl_Callback*)gts_gui::cb_Save, 0, 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
397404
{"Open Config...", 0x8006f, (Fl_Callback*)gts_gui::cb_Open1, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
398405
{"Save Config", 0x80073, (Fl_Callback*)gts_gui::cb_Save1, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
399-
{"Save Config As...", 0x90073, (Fl_Callback*)gts_gui::cb_Save2, 0, 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
406+
{"Save Config As...", 0x90073, (Fl_Callback*)gts_gui::cb_Save2, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
407+
{"Save Config As(Save Images Path)...", 0, (Fl_Callback*)gts_gui::cb_Save3, 0, 128, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
400408
{"Quit", 0x40071, (Fl_Callback*)gts_gui::cb_Quit, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
401409
{0,0,0,0,0,0,0,0,0},
402410
{"Action", 0, 0, 0, 64, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
@@ -454,25 +462,25 @@ Fl_Menu_Item gts_gui::menu_[] = {
454462
{0,0,0,0,0,0,0,0,0},
455463
{0,0,0,0,0,0,0,0,0}
456464
};
457-
Fl_Menu_Item* gts_gui::menite_scan_crop = gts_gui::menu_ + 9;
458-
Fl_Menu_Item* gts_gui::menite_preview_scan = gts_gui::menu_ + 10;
459-
Fl_Menu_Item* gts_gui::menite_scan_save = gts_gui::menu_ + 11;
460-
Fl_Menu_Item* gts_gui::menite_area_and_rot90 = gts_gui::menu_ + 17;
461-
Fl_Menu_Item* gts_gui::menite_pixel_type_and_bright = gts_gui::menu_ + 18;
462-
Fl_Menu_Item* gts_gui::menite_number = gts_gui::menu_ + 19;
463-
Fl_Menu_Item* gts_gui::menite_scan_and_save = gts_gui::menu_ + 20;
464-
Fl_Menu_Item* gts_gui::menite_trace_files = gts_gui::menu_ + 21;
465-
Fl_Menu_Item* gts_gui::menite_trace_params = gts_gui::menu_ + 22;
466-
Fl_Menu_Item* gts_gui::menite_trace_hsv_view = gts_gui::menu_ + 23;
467-
Fl_Menu_Item* gts_gui::menite_trace_hue_minmax = gts_gui::menu_ + 24;
468-
Fl_Menu_Item* gts_gui::menite_trace_batch = gts_gui::menu_ + 25;
469-
Fl_Menu_Item* gts_gui::menite_sane_device = gts_gui::menu_ + 26;
470-
Fl_Menu_Item* gts_gui::menite_frame_cyclic = gts_gui::menu_ + 38;
471-
Fl_Menu_Item* gts_gui::menite_wview_main = gts_gui::menu_ + 43;
472-
Fl_Menu_Item* gts_gui::menite_wview_sub = gts_gui::menu_ + 44;
473-
Fl_Menu_Item* gts_gui::menite_wview_lr = gts_gui::menu_ + 45;
474-
Fl_Menu_Item* gts_gui::menite_wview_ud = gts_gui::menu_ + 46;
475-
Fl_Menu_Item* gts_gui::menite_help_about = gts_gui::menu_ + 59;
465+
Fl_Menu_Item* gts_gui::menite_scan_crop = gts_gui::menu_ + 10;
466+
Fl_Menu_Item* gts_gui::menite_preview_scan = gts_gui::menu_ + 11;
467+
Fl_Menu_Item* gts_gui::menite_scan_save = gts_gui::menu_ + 12;
468+
Fl_Menu_Item* gts_gui::menite_area_and_rot90 = gts_gui::menu_ + 18;
469+
Fl_Menu_Item* gts_gui::menite_pixel_type_and_bright = gts_gui::menu_ + 19;
470+
Fl_Menu_Item* gts_gui::menite_number = gts_gui::menu_ + 20;
471+
Fl_Menu_Item* gts_gui::menite_scan_and_save = gts_gui::menu_ + 21;
472+
Fl_Menu_Item* gts_gui::menite_trace_files = gts_gui::menu_ + 22;
473+
Fl_Menu_Item* gts_gui::menite_trace_params = gts_gui::menu_ + 23;
474+
Fl_Menu_Item* gts_gui::menite_trace_hsv_view = gts_gui::menu_ + 24;
475+
Fl_Menu_Item* gts_gui::menite_trace_hue_minmax = gts_gui::menu_ + 25;
476+
Fl_Menu_Item* gts_gui::menite_trace_batch = gts_gui::menu_ + 26;
477+
Fl_Menu_Item* gts_gui::menite_sane_device = gts_gui::menu_ + 27;
478+
Fl_Menu_Item* gts_gui::menite_frame_cyclic = gts_gui::menu_ + 39;
479+
Fl_Menu_Item* gts_gui::menite_wview_main = gts_gui::menu_ + 44;
480+
Fl_Menu_Item* gts_gui::menite_wview_sub = gts_gui::menu_ + 45;
481+
Fl_Menu_Item* gts_gui::menite_wview_lr = gts_gui::menu_ + 46;
482+
Fl_Menu_Item* gts_gui::menite_wview_ud = gts_gui::menu_ + 47;
483+
Fl_Menu_Item* gts_gui::menite_help_about = gts_gui::menu_ + 60;
476484

477485
void gts_gui::cb_scrbar_view_x_i(Fl_Scrollbar* o, void*) {
478486
cl_gts_master.reserve_by_scroll_x( o->value() );

sources/libcpp83gts_callback_and_action/gts_gui.fl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,12 @@ class gts_gui {open
5252
MenuItem {} {
5353
label {Save Config As...}
5454
callback {cl_gts_master.cl_config.save_as();}
55-
xywh {5 5 100 20} shortcut 0x90073 divider
55+
xywh {5 5 100 20} shortcut 0x90073
56+
}
57+
MenuItem {} {
58+
label {Save Config As(Save Images Path)...}
59+
callback {cl_gts_master.cl_config.save_as_save_images_path();}
60+
xywh {0 0 30 20} divider
5661
}
5762
MenuItem {} {
5863
label Quit

sources/libcpp83gts_callback_and_action/gts_gui.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ class gts_gui {
4444
static void cb_Save1(Fl_Menu_*, void*);
4545
inline void cb_Save2_i(Fl_Menu_*, void*);
4646
static void cb_Save2(Fl_Menu_*, void*);
47+
inline void cb_Save3_i(Fl_Menu_*, void*);
48+
static void cb_Save3(Fl_Menu_*, void*);
4749
inline void cb_Quit_i(Fl_Menu_*, void*);
4850
static void cb_Quit(Fl_Menu_*, void*);
4951
public:

sources/main/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ static int argument_analyzer( int argc, char *argv[], char *cp_comm, gts_master
7575
#ifdef PACKAGE_NAME
7676
gts_master cl_gts_master(PACKAGE_NAME, PACKAGE_VERSION, CONFIGURATION_DATE);
7777
# else
78-
gts_master cl_gts_master( "gts" ,"2.5.0.049" ,"2018-06-27" );
78+
gts_master cl_gts_master( "gts" ,"2.5.0.050" ,"2018-09-18" );
7979
# endif
8080

8181
int main( int argc, char **argv )

0 commit comments

Comments
 (0)