Fix theme margins

Fix spacing that was changed due to the restructuring of foldable tool
panels.
This commit is contained in:
Lawrence Lee 2021-12-19 14:51:47 -08:00
parent 012103b4e2
commit a7010d25cd
14 changed files with 85 additions and 68 deletions

View File

@ -760,6 +760,23 @@ button.radio#histButton:hover {
margin-right: 0.25em; margin-right: 0.25em;
} }
/* ExpanderContents is just a logical container. Don't add additional spacing. */
#ExpanderBox > .ExpanderContents > * {
margin: 0;
min-height: 0;
padding: 0;
}
/* For sub-tools containers that go below another widget, add some margin
* between them if the container has children. */
#MyExpander .SubToolsContainer:not(:first-child) > :first-child {
margin-top: 0.1666666666666666em;
}
#MyExpander .SubToolsContainer {
min-height: 0;
}
/* Tool background */ /* Tool background */
#ExpanderBox > box, #ExpanderBox > grid { #ExpanderBox > box, #ExpanderBox > grid {
background-color: #363636; background-color: #363636;
@ -808,9 +825,11 @@ button.radio#histButton:hover {
} }
#LocallabToolPanel > box > checkbutton, #LocallabToolPanel > box > box, #LocallabToolPanel > grid > checkbutton, #LocallabToolPanel > box > grid, #LocallabToolPanel > grid > grid, #LocallabToolPanel frame > box > grid, #LocallabToolPanel frame > grid > grid, #LocallabToolPanel frame > grid > box, #LocallabToolPanel > box > checkbutton, #LocallabToolPanel > box > box, #LocallabToolPanel > grid > checkbutton, #LocallabToolPanel > box > grid, #LocallabToolPanel > grid > grid, #LocallabToolPanel frame > box > grid, #LocallabToolPanel frame > grid > grid, #LocallabToolPanel frame > grid > box,
#ExpanderBox > box > checkbutton, #ExpanderBox > box > box, #ExpanderBox > grid > checkbutton, #ExpanderBox > box > grid, #ExpanderBox > grid > grid, #ExpanderBox frame > box > grid, #ExpanderBox frame > grid > grid, #ExpanderBox frame > grid > box, #ExpanderBox > .ExpanderContents > box:not(.SubToolsContainer) > checkbutton, #ExpanderBox > .ExpanderContents > box:not(.SubToolsContainer) > box, #ExpanderBox > .ExpanderContents > grid > checkbutton, #ExpanderBox > .ExpanderContents > box:not(.SubToolsContainer) > grid, #ExpanderBox > .ExpanderContents > grid > grid, #ExpanderBox frame > box > grid, #ExpanderBox frame > grid > grid, #ExpanderBox frame > grid > box,
#ExpanderBox2 > box > checkbutton, #ExpanderBox2 > box > box, #ExpanderBox2 > grid > checkbutton, #ExpanderBox2 > box > grid, #ExpanderBox2 > grid > grid, #ExpanderBox2 frame > box > grid, #ExpanderBox2 frame > grid > grid, #ExpanderBox2 frame > grid > box, #ExpanderBox2 > .ExpanderContents > box:not(.SubToolsContainer) > checkbutton, #ExpanderBox2 > .ExpanderContents > box:not(.SubToolsContainer) > box, #ExpanderBox2 > .ExpanderContents > grid > checkbutton, #ExpanderBox2 > .ExpanderContents > box:not(.SubToolsContainer) > grid, #ExpanderBox2 > .ExpanderContents > grid > grid, #ExpanderBox2 frame > box > grid, #ExpanderBox2 frame > grid > grid, #ExpanderBox2 frame > grid > box,
#ExpanderBox3 > box > checkbutton, #ExpanderBox3 > box > box, #ExpanderBox3 > grid > checkbutton, #ExpanderBox3 > box > grid, #ExpanderBox3 > grid > grid, #ExpanderBox3 frame > box > grid, #ExpanderBox3 frame > grid > grid, #ExpanderBox3 frame > grid > box { #ExpanderBox2 > box:not(.ExpanderContents) > checkbutton, #ExpanderBox2 > box:not(.ExpanderContents) > box, #ExpanderBox2 > grid > checkbutton, #ExpanderBox2 > box:not(.ExpanderContents) > grid, #ExpanderBox2 > grid > grid, #ExpanderBox2 frame > box > grid, #ExpanderBox2 frame > grid > grid, #ExpanderBox2 frame > grid > box,
#ExpanderBox3 > .ExpanderContents > box:not(.SubToolsContainer) > checkbutton, #ExpanderBox3 > .ExpanderContents > box:not(.SubToolsContainer) > box, #ExpanderBox3 > .ExpanderContents > grid > checkbutton, #ExpanderBox3 > .ExpanderContents > box:not(.SubToolsContainer) > grid, #ExpanderBox3 > .ExpanderContents > grid > grid, #ExpanderBox3 frame > box > grid, #ExpanderBox3 frame > grid > grid, #ExpanderBox3 frame > grid > box,
#ExpanderBox3 > box:not(.ExpanderContents) > checkbutton, #ExpanderBox3 > box:not(.ExpanderContents) > box, #ExpanderBox3 > grid > checkbutton, #ExpanderBox3 > box:not(.ExpanderContents) > grid, #ExpanderBox3 > grid > grid, #ExpanderBox3 frame > box > grid, #ExpanderBox3 frame > grid > grid, #ExpanderBox3 frame > grid > box {
margin-top: 0.1666666666666666em; margin-top: 0.1666666666666666em;
} }
@ -1099,6 +1118,10 @@ dialog frame > label:not(.dummy) {
min-width: 25em; min-width: 25em;
} }
#ToolPanelNotebook .PanelEnding {
margin-top: 4px;
}
#ToolPanelNotebook header { #ToolPanelNotebook header {
background-color: #383838; background-color: #383838;
border-color: #262626; border-color: #262626;

View File

@ -766,6 +766,29 @@ button.radio#histButton:hover {
border-bottom: none; border-bottom: none;
} }
/* ExpanderContents is just a logical container. Don't add additional spacing. */
#ExpanderBox > .ExpanderContents > * {
margin: 0;
min-height: 0;
padding: 0;
}
/* For sub-tools containers that go below another widget, add some margin
* between them if the container has children. */
#MyExpander .SubToolsContainer:not(:first-child) > :first-child {
margin-top: 0.3333333333333333em;
}
#MyExpander .SubToolsContainer {
min-height: 0;
}
.SubToolsContainer > #MyExpander,
.ToolParamBlock > #MyExpander,
.ExpanderContents,
#MyExpander .ToolParamBlock {
margin: 0;
}
/* Tool background */ /* Tool background */
#ExpanderBox > box, #ExpanderBox > box,
@ -1046,6 +1069,10 @@ dialog frame > label:not(.dummy) {
padding: 0; padding: 0;
} }
#ToolPanelNotebook .PanelEnding {
margin-top: 4px;
}
#ToolPanelNotebook header tabs { #ToolPanelNotebook header tabs {
padding: 0.0833333333333333em; padding: 0.0833333333333333em;
background-color: #2A2A2A; background-color: #2A2A2A;

View File

@ -963,6 +963,9 @@ window.csd:not(.fullscreen) #MainNotebook > header.top {
#ToolPanelNotebook { #ToolPanelNotebook {
background-color: @bg-dark-grey; background-color: @bg-dark-grey;
} }
#ToolPanelNotebook .PanelEnding {
margin-top: 4px;
}
#ToolPanelNotebook > header { #ToolPanelNotebook > header {
border-bottom: 0.083333333333333333em solid @view-grid-border; border-bottom: 0.083333333333333333em solid @view-grid-border;
margin-left: 0.083333333333333333em; margin-left: 0.083333333333333333em;

View File

@ -52,9 +52,6 @@ LensGeometry::LensGeometry () : FoldableToolPanel(this, TOOL_NAME, M("TP_LENSGEO
autoCrop->get_style_context()->add_class("independent"); autoCrop->get_style_context()->add_class("independent");
pack_start (*autoCrop, Gtk::PACK_SHRINK, 2); pack_start (*autoCrop, Gtk::PACK_SHRINK, 2);
packBox = Gtk::manage (new ToolParamBlock ());
pack_start (*packBox);
method->connect(method->signal_changed().connect(sigc::mem_fun(*this, &LensGeometry::methodChanged))); method->connect(method->signal_changed().connect(sigc::mem_fun(*this, &LensGeometry::methodChanged)));
autoCrop->signal_pressed().connect(sigc::mem_fun(*this, &LensGeometry::autoCropPressed)); autoCrop->signal_pressed().connect(sigc::mem_fun(*this, &LensGeometry::autoCropPressed));
fillConn = fill->signal_toggled().connect(sigc::mem_fun(*this, &LensGeometry::fillPressed)); fillConn = fill->signal_toggled().connect(sigc::mem_fun(*this, &LensGeometry::fillPressed));

View File

@ -35,7 +35,6 @@ protected:
Gtk::CheckButton* fill; Gtk::CheckButton* fill;
bool lastFill; bool lastFill;
sigc::connection fillConn; sigc::connection fillConn;
ToolParamBlock* packBox;
rtengine::ProcEvent EvTransMethod; rtengine::ProcEvent EvTransMethod;
public: public:
@ -44,11 +43,6 @@ public:
LensGeometry (); LensGeometry ();
~LensGeometry () override; ~LensGeometry () override;
Gtk::Box* getPackBox ()
{
return packBox;
}
void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override; void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override;
void write (rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) override; void write (rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) override;
void setBatchMode (bool batchMode) override; void setBatchMode (bool batchMode) override;

View File

@ -172,10 +172,8 @@ Resize::Resize () : FoldableToolPanel(this, TOOL_NAME, M("TP_RESIZE_LABEL"), fal
method->signal_changed().connect ( sigc::mem_fun(*this, &Resize::methodChanged) ); method->signal_changed().connect ( sigc::mem_fun(*this, &Resize::methodChanged) );
sconn = spec->signal_changed().connect ( sigc::mem_fun(*this, &Resize::specChanged) ); sconn = spec->signal_changed().connect ( sigc::mem_fun(*this, &Resize::specChanged) );
packBox = Gtk::manage (new ToolParamBlock ()); getSubToolsContainer()->hide();
pack_end (*packBox); getSubToolsContainer()->set_tooltip_markup (M("TP_PRSHARPENING_TOOLTIP"));
packBox->hide();
packBox->set_tooltip_markup (M("TP_PRSHARPENING_TOOLTIP"));
show_all(); show_all();
} }
@ -398,9 +396,9 @@ void Resize::methodChanged ()
// Post-resize Sharpening assumes the image is in Lab space, and currently Lanczos is the only method which uses that space, and Lanczos is on row 0. // Post-resize Sharpening assumes the image is in Lab space, and currently Lanczos is the only method which uses that space, and Lanczos is on row 0.
if (method->get_active_row_number() == 0) { if (method->get_active_row_number() == 0) {
packBox->set_sensitive(true); getSubToolsContainer()->set_sensitive(true);
} else { } else {
packBox->set_sensitive(false); getSubToolsContainer()->set_sensitive(false);
} }
} }

View File

@ -37,11 +37,6 @@ public:
Resize (); Resize ();
~Resize () override; ~Resize () override;
Gtk::Box* getPackBox ()
{
return packBox;
}
void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override; void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override;
void write (rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) override; void write (rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) override;
void setDefaults (const rtengine::procparams::ProcParams* defParams, const ParamsEdited* pedited = nullptr) override; void setDefaults (const rtengine::procparams::ProcParams* defParams, const ParamsEdited* pedited = nullptr) override;
@ -89,7 +84,6 @@ private:
int cropw, croph; int cropw, croph;
sigc::connection sconn, aconn, wconn, hconn, leconn, seconn; sigc::connection sconn, aconn, wconn, hconn, leconn, seconn;
bool wDirty, hDirty, leDirty, seDirty; bool wDirty, hDirty, leDirty, seDirty;
ToolParamBlock* packBox;
IdleRegister idle_register; IdleRegister idle_register;
static constexpr int MAX_SCALE = 16; // 16 to match the main preview max scale of 1600% static constexpr int MAX_SCALE = 16; // 16 to match the main preview max scale of 1600%

View File

@ -25,8 +25,5 @@ const Glib::ustring SensorBayer::TOOL_NAME = "sensorbayer";
SensorBayer::SensorBayer () : FoldableToolPanel(this, TOOL_NAME, M("TP_RAW_SENSOR_BAYER_LABEL")) SensorBayer::SensorBayer () : FoldableToolPanel(this, TOOL_NAME, M("TP_RAW_SENSOR_BAYER_LABEL"))
{ {
packBox = Gtk::manage (new ToolParamBlock ());
pack_start (*packBox);
show_all (); show_all ();
} }

View File

@ -27,16 +27,8 @@ class SensorBayer final :
public FoldableToolPanel public FoldableToolPanel
{ {
protected:
ToolParamBlock* packBox;
public: public:
static const Glib::ustring TOOL_NAME; static const Glib::ustring TOOL_NAME;
SensorBayer (); SensorBayer ();
Gtk::Box* getPackBox ()
{
return packBox;
}
}; };

View File

@ -25,8 +25,5 @@ const Glib::ustring SensorXTrans::TOOL_NAME = "sensorxtrans";
SensorXTrans::SensorXTrans () : FoldableToolPanel(this, TOOL_NAME, M("TP_RAW_SENSOR_XTRANS_LABEL")) SensorXTrans::SensorXTrans () : FoldableToolPanel(this, TOOL_NAME, M("TP_RAW_SENSOR_XTRANS_LABEL"))
{ {
packBox = Gtk::manage (new ToolParamBlock ());
pack_start (*packBox);
show_all (); show_all ();
} }

View File

@ -27,16 +27,8 @@ class SensorXTrans final:
public FoldableToolPanel public FoldableToolPanel
{ {
protected:
ToolParamBlock* packBox;
public: public:
static const Glib::ustring TOOL_NAME; static const Glib::ustring TOOL_NAME;
SensorXTrans (); SensorXTrans ();
Gtk::Box* getPackBox ()
{
return packBox;
}
}; };

View File

@ -38,6 +38,7 @@ ToolVBox::ToolVBox() {
ToolParamBlock::ToolParamBlock() { ToolParamBlock::ToolParamBlock() {
set_orientation(Gtk::ORIENTATION_VERTICAL); set_orientation(Gtk::ORIENTATION_VERTICAL);
get_style_context()->add_class("ToolParamBlock");
//GTK318 //GTK318
#if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION < 20 #if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION < 20
set_spacing(2); // Vertical space between parameters in a single tool set_spacing(2); // Vertical space between parameters in a single tool
@ -75,8 +76,9 @@ FoldableToolPanel::FoldableToolPanel(Gtk::Box* content, Glib::ustring toolName,
Gtk::Box *expanderContents = Gtk::manage( Gtk::Box *expanderContents = Gtk::manage(
new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL)); new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL));
subToolsContainer = Gtk::manage( subToolsContainer = Gtk::manage(new ToolParamBlock());
new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL)); subToolsContainer->get_style_context()->add_class("SubToolsContainer");
expanderContents->get_style_context()->add_class("ExpanderContents");
expanderContents->pack_start(*content, false, false, 0); expanderContents->pack_start(*content, false, false, 0);
expanderContents->pack_start(*subToolsContainer, false, false, 0); expanderContents->pack_start(*subToolsContainer, false, false, 0);

View File

@ -98,7 +98,7 @@ public:
{ {
return nullptr; return nullptr;
} }
virtual Gtk::Box *getSubToolsContainer() const virtual ToolParamBlock *getSubToolsContainer() const
{ {
return nullptr; return nullptr;
} }
@ -168,7 +168,7 @@ class FoldableToolPanel :
protected: protected:
Gtk::Box* parentContainer; Gtk::Box* parentContainer;
MyExpander* exp; MyExpander* exp;
Gtk::Box *subToolsContainer; ToolParamBlock *subToolsContainer;
bool lastEnabled; bool lastEnabled;
sigc::connection enaConn; sigc::connection enaConn;
void foldThemAll (GdkEventButton* event); void foldThemAll (GdkEventButton* event);
@ -183,7 +183,7 @@ public:
return exp; return exp;
} }
Gtk::Box *getSubToolsContainer() const final ToolParamBlock *getSubToolsContainer() const final
{ {
return subToolsContainer; return subToolsContainer;
} }

View File

@ -400,6 +400,7 @@ ToolPanelCoordinator::ToolPanelCoordinator (bool batch) : ipc (nullptr), favorit
vbPanelEnd[i] = Gtk::manage (new Gtk::Box(Gtk::ORIENTATION_VERTICAL)); vbPanelEnd[i] = Gtk::manage (new Gtk::Box(Gtk::ORIENTATION_VERTICAL));
imgPanelEnd[i] = Gtk::manage (new RTImage ("ornament1.png")); imgPanelEnd[i] = Gtk::manage (new RTImage ("ornament1.png"));
imgPanelEnd[i]->show(); imgPanelEnd[i]->show();
vbPanelEnd[i]->get_style_context()->add_class("PanelEnding");
vbPanelEnd[i]->pack_start(*imgPanelEnd[i], Gtk::PACK_SHRINK); vbPanelEnd[i]->pack_start(*imgPanelEnd[i], Gtk::PACK_SHRINK);
vbPanelEnd[i]->show_all(); vbPanelEnd[i]->show_all();
} }
@ -423,37 +424,37 @@ ToolPanelCoordinator::ToolPanelCoordinator (bool batch) : ipc (nullptr), favorit
Gtk::manage(new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL)); Gtk::manage(new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL));
favoritePanelSW->add(*favoritePanelContainer); favoritePanelSW->add(*favoritePanelContainer);
favoritePanelContainer->pack_start(*favoritePanel, Gtk::PACK_SHRINK, 0); favoritePanelContainer->pack_start(*favoritePanel, Gtk::PACK_SHRINK);
favoritePanelContainer->pack_start(*vbPanelEnd[0], Gtk::PACK_SHRINK, 4); favoritePanelContainer->pack_start(*vbPanelEnd[0], Gtk::PACK_SHRINK);
favoritePanelSW->show_all(); favoritePanelSW->show_all();
exposurePanelSW->add (*exposurePanelContainer); exposurePanelSW->add (*exposurePanelContainer);
exposurePanelContainer->pack_start(*exposurePanel, Gtk::PACK_SHRINK, 0); exposurePanelContainer->pack_start(*exposurePanel, Gtk::PACK_SHRINK);
exposurePanelContainer->pack_start (*vbPanelEnd[1], Gtk::PACK_SHRINK, 4); exposurePanelContainer->pack_start (*vbPanelEnd[1], Gtk::PACK_SHRINK);
detailsPanelSW->add (*detailsPanelContainer); detailsPanelSW->add (*detailsPanelContainer);
detailsPanelContainer->pack_start(*detailsPanel, Gtk::PACK_SHRINK, 0); detailsPanelContainer->pack_start(*detailsPanel, Gtk::PACK_SHRINK);
detailsPanelContainer->pack_start (*vbPanelEnd[2], Gtk::PACK_SHRINK, 4); detailsPanelContainer->pack_start (*vbPanelEnd[2], Gtk::PACK_SHRINK);
colorPanelSW->add (*colorPanelContainer); colorPanelSW->add (*colorPanelContainer);
colorPanelContainer->pack_start(*colorPanel, Gtk::PACK_SHRINK, 0); colorPanelContainer->pack_start(*colorPanel, Gtk::PACK_SHRINK);
colorPanelContainer->pack_start (*vbPanelEnd[3], Gtk::PACK_SHRINK, 4); colorPanelContainer->pack_start (*vbPanelEnd[3], Gtk::PACK_SHRINK);
advancedPanelSW->add (*advancedPanelContainer); advancedPanelSW->add (*advancedPanelContainer);
advancedPanelContainer->pack_start(*advancedPanel, Gtk::PACK_SHRINK, 0); advancedPanelContainer->pack_start(*advancedPanel, Gtk::PACK_SHRINK);
advancedPanelContainer->pack_start (*vbPanelEnd[6], Gtk::PACK_SHRINK, 0); advancedPanelContainer->pack_start (*vbPanelEnd[6], Gtk::PACK_SHRINK);
locallabPanelSW->add(*locallabPanelContainer); locallabPanelSW->add(*locallabPanelContainer);
locallabPanelContainer->pack_start(*locallabPanel, Gtk::PACK_SHRINK, 0); locallabPanelContainer->pack_start(*locallabPanel, Gtk::PACK_SHRINK);
locallabPanelContainer->pack_start(*vbPanelEnd[7], Gtk::PACK_SHRINK, 4); locallabPanelContainer->pack_start(*vbPanelEnd[7], Gtk::PACK_SHRINK);
transformPanelSW->add (*transformPanelContainer); transformPanelSW->add (*transformPanelContainer);
transformPanelContainer->pack_start(*transformPanel, Gtk::PACK_SHRINK, 0); transformPanelContainer->pack_start(*transformPanel, Gtk::PACK_SHRINK);
transformPanelContainer->pack_start (*vbPanelEnd[4], Gtk::PACK_SHRINK, 4); transformPanelContainer->pack_start (*vbPanelEnd[4], Gtk::PACK_SHRINK);
rawPanelSW->add (*rawPanelContainer); rawPanelSW->add (*rawPanelContainer);
rawPanelContainer->pack_start(*rawPanel, Gtk::PACK_SHRINK, 0); rawPanelContainer->pack_start(*rawPanel, Gtk::PACK_SHRINK);
rawPanelContainer->pack_start (*vbPanelEnd[5], Gtk::PACK_SHRINK, 0); rawPanelContainer->pack_start (*vbPanelEnd[5], Gtk::PACK_SHRINK);
toiF.reset(new TextOrIcon ("star.png", M ("MAIN_TAB_FAVORITES"), M ("MAIN_TAB_FAVORITES_TOOLTIP"))); toiF.reset(new TextOrIcon ("star.png", M ("MAIN_TAB_FAVORITES"), M ("MAIN_TAB_FAVORITES_TOOLTIP")));
toiE = Gtk::manage (new TextOrIcon ("exposure.png", M ("MAIN_TAB_EXPOSURE"), M ("MAIN_TAB_EXPOSURE_TOOLTIP"))); toiE = Gtk::manage (new TextOrIcon ("exposure.png", M ("MAIN_TAB_EXPOSURE"), M ("MAIN_TAB_EXPOSURE_TOOLTIP")));