Add buttons to the file browser preferences to make the list of extensions user-sortable.
This commit is contained in:
parent
ee766b71b8
commit
b89cd282e0
@ -1001,6 +1001,8 @@ PREFERENCES_PARSEDEXT;Parsed Extensions
|
|||||||
PREFERENCES_PARSEDEXTADD;Add extension
|
PREFERENCES_PARSEDEXTADD;Add extension
|
||||||
PREFERENCES_PARSEDEXTADDHINT;Add entered extension to the list.
|
PREFERENCES_PARSEDEXTADDHINT;Add entered extension to the list.
|
||||||
PREFERENCES_PARSEDEXTDELHINT;Delete selected extension from the list.
|
PREFERENCES_PARSEDEXTDELHINT;Delete selected extension from the list.
|
||||||
|
PREFERENCES_PARSEDEXTUPHINT;Move selected extension up in the list.
|
||||||
|
PREFERENCES_PARSEDEXTDOWNHINT;Move selected extension down in the list.
|
||||||
PREFERENCES_PREVDEMO;Preview Demosaic Method
|
PREFERENCES_PREVDEMO;Preview Demosaic Method
|
||||||
PREFERENCES_PREVDEMO_FAST;Fast
|
PREFERENCES_PREVDEMO_FAST;Fast
|
||||||
PREFERENCES_PREVDEMO_LABEL;Demosaicing method used for the preview at <100% zoom:
|
PREFERENCES_PREVDEMO_LABEL;Demosaicing method used for the preview at <100% zoom:
|
||||||
|
@ -1188,12 +1188,20 @@ Gtk::Widget* Preferences::getFileBrowserPanel ()
|
|||||||
hb0->pack_start (*extension);
|
hb0->pack_start (*extension);
|
||||||
addExt = Gtk::manage( new Gtk::Button () );
|
addExt = Gtk::manage( new Gtk::Button () );
|
||||||
delExt = Gtk::manage( new Gtk::Button () );
|
delExt = Gtk::manage( new Gtk::Button () );
|
||||||
|
moveExtUp = Gtk::manage( new Gtk::Button () );
|
||||||
|
moveExtDown = Gtk::manage( new Gtk::Button () );
|
||||||
addExt->set_tooltip_text (M("PREFERENCES_PARSEDEXTADDHINT"));
|
addExt->set_tooltip_text (M("PREFERENCES_PARSEDEXTADDHINT"));
|
||||||
delExt->set_tooltip_text (M("PREFERENCES_PARSEDEXTDELHINT"));
|
delExt->set_tooltip_text (M("PREFERENCES_PARSEDEXTDELHINT"));
|
||||||
|
moveExtUp->set_tooltip_text (M("PREFERENCES_PARSEDEXTUPHINT"));
|
||||||
|
moveExtDown->set_tooltip_text (M("PREFERENCES_PARSEDEXTDOWNHINT"));
|
||||||
Gtk::Image* addExtImg = Gtk::manage( new RTImage ("list-add-small.png") );
|
Gtk::Image* addExtImg = Gtk::manage( new RTImage ("list-add-small.png") );
|
||||||
Gtk::Image* delExtImg = Gtk::manage( new RTImage ("list-remove-red-small.png") );
|
Gtk::Image* delExtImg = Gtk::manage( new RTImage ("list-remove-red-small.png") );
|
||||||
addExt->add (*addExtImg);
|
addExt->add (*addExtImg);
|
||||||
delExt->add (*delExtImg);
|
delExt->add (*delExtImg);
|
||||||
|
moveExtUp->set_label ("↑"); // TODO: Add arrow up image...
|
||||||
|
moveExtDown->set_label ("↓"); // TODO: Add arrow down image...
|
||||||
|
hb0->pack_end (*moveExtDown, Gtk::PACK_SHRINK, 4);
|
||||||
|
hb0->pack_end (*moveExtUp, Gtk::PACK_SHRINK, 4);
|
||||||
hb0->pack_end (*delExt, Gtk::PACK_SHRINK, 4);
|
hb0->pack_end (*delExt, Gtk::PACK_SHRINK, 4);
|
||||||
hb0->pack_end (*addExt, Gtk::PACK_SHRINK, 4);
|
hb0->pack_end (*addExt, Gtk::PACK_SHRINK, 4);
|
||||||
extensions = Gtk::manage( new Gtk::TreeView () );
|
extensions = Gtk::manage( new Gtk::TreeView () );
|
||||||
@ -1264,6 +1272,8 @@ Gtk::Widget* Preferences::getFileBrowserPanel ()
|
|||||||
|
|
||||||
addExt->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::addExtPressed) );
|
addExt->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::addExtPressed) );
|
||||||
delExt->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::delExtPressed) );
|
delExt->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::delExtPressed) );
|
||||||
|
moveExtUp->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::moveExtUpPressed) );
|
||||||
|
moveExtDown->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::moveExtDownPressed) );
|
||||||
extension->signal_activate().connect( sigc::mem_fun(*this, &Preferences::addExtPressed) );
|
extension->signal_activate().connect( sigc::mem_fun(*this, &Preferences::addExtPressed) );
|
||||||
clearThumbnails->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::clearThumbImagesPressed) );
|
clearThumbnails->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::clearThumbImagesPressed) );
|
||||||
clearProfiles->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::clearProfilesPressed) );
|
clearProfiles->signal_clicked().connect( sigc::mem_fun(*this, &Preferences::clearProfilesPressed) );
|
||||||
@ -2082,6 +2092,36 @@ void Preferences::delExtPressed ()
|
|||||||
extensionModel->erase (extensions->get_selection()->get_selected ());
|
extensionModel->erase (extensions->get_selection()->get_selected ());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Preferences::moveExtUpPressed ()
|
||||||
|
{
|
||||||
|
const Glib::RefPtr<Gtk::TreeSelection> selection = extensions->get_selection ();
|
||||||
|
if (!selection)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const Gtk::TreeModel::iterator selected = selection->get_selected ();
|
||||||
|
if (!selected || selected == extensionModel->children ().begin ())
|
||||||
|
return;
|
||||||
|
|
||||||
|
Gtk::TreeModel::iterator previous = selected;
|
||||||
|
--previous;
|
||||||
|
extensionModel->iter_swap (selected, previous);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Preferences::moveExtDownPressed ()
|
||||||
|
{
|
||||||
|
const Glib::RefPtr<Gtk::TreeSelection> selection = extensions->get_selection ();
|
||||||
|
if (!selection)
|
||||||
|
return;
|
||||||
|
|
||||||
|
const Gtk::TreeModel::iterator selected = selection->get_selected ();
|
||||||
|
if (!selected)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Gtk::TreeModel::iterator next = selected;
|
||||||
|
if (++next)
|
||||||
|
extensionModel->iter_swap (selected, next);
|
||||||
|
}
|
||||||
|
|
||||||
void Preferences::clearProfilesPressed ()
|
void Preferences::clearProfilesPressed ()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -144,6 +144,8 @@ protected:
|
|||||||
Gtk::TreeView* extensions;
|
Gtk::TreeView* extensions;
|
||||||
Gtk::Button* addExt;
|
Gtk::Button* addExt;
|
||||||
Gtk::Button* delExt;
|
Gtk::Button* delExt;
|
||||||
|
Gtk::Button* moveExtUp;
|
||||||
|
Gtk::Button* moveExtDown;
|
||||||
Gtk::CheckButton* overlayedFileNames;
|
Gtk::CheckButton* overlayedFileNames;
|
||||||
Gtk::CheckButton* filmStripOverlayedFileNames;
|
Gtk::CheckButton* filmStripOverlayedFileNames;
|
||||||
Gtk::CheckButton* sameThumbSize;
|
Gtk::CheckButton* sameThumbSize;
|
||||||
@ -242,6 +244,8 @@ public:
|
|||||||
void selectStartupDir ();
|
void selectStartupDir ();
|
||||||
void addExtPressed ();
|
void addExtPressed ();
|
||||||
void delExtPressed ();
|
void delExtPressed ();
|
||||||
|
void moveExtUpPressed ();
|
||||||
|
void moveExtDownPressed ();
|
||||||
void darkFrameChanged ();
|
void darkFrameChanged ();
|
||||||
void flatFieldChanged ();
|
void flatFieldChanged ();
|
||||||
void clearProfilesPressed ();
|
void clearProfilesPressed ();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user