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;
}
/* 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 */
#ExpanderBox > box, #ExpanderBox > grid {
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,
#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,
#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,
#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 {
#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 > .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,
#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;
}
@ -1099,6 +1118,10 @@ dialog frame > label:not(.dummy) {
min-width: 25em;
}
#ToolPanelNotebook .PanelEnding {
margin-top: 4px;
}
#ToolPanelNotebook header {
background-color: #383838;
border-color: #262626;

View File

@ -766,6 +766,29 @@ button.radio#histButton:hover {
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 */
#ExpanderBox > box,
@ -1046,6 +1069,10 @@ dialog frame > label:not(.dummy) {
padding: 0;
}
#ToolPanelNotebook .PanelEnding {
margin-top: 4px;
}
#ToolPanelNotebook header tabs {
padding: 0.0833333333333333em;
background-color: #2A2A2A;

View File

@ -963,6 +963,9 @@ window.csd:not(.fullscreen) #MainNotebook > header.top {
#ToolPanelNotebook {
background-color: @bg-dark-grey;
}
#ToolPanelNotebook .PanelEnding {
margin-top: 4px;
}
#ToolPanelNotebook > header {
border-bottom: 0.083333333333333333em solid @view-grid-border;
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");
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)));
autoCrop->signal_pressed().connect(sigc::mem_fun(*this, &LensGeometry::autoCropPressed));
fillConn = fill->signal_toggled().connect(sigc::mem_fun(*this, &LensGeometry::fillPressed));

View File

@ -35,7 +35,6 @@ protected:
Gtk::CheckButton* fill;
bool lastFill;
sigc::connection fillConn;
ToolParamBlock* packBox;
rtengine::ProcEvent EvTransMethod;
public:
@ -44,11 +43,6 @@ public:
LensGeometry ();
~LensGeometry () override;
Gtk::Box* getPackBox ()
{
return packBox;
}
void read (const rtengine::procparams::ProcParams* pp, const ParamsEdited* pedited = nullptr) override;
void write (rtengine::procparams::ProcParams* pp, ParamsEdited* pedited = nullptr) 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) );
sconn = spec->signal_changed().connect ( sigc::mem_fun(*this, &Resize::specChanged) );
packBox = Gtk::manage (new ToolParamBlock ());
pack_end (*packBox);
packBox->hide();
packBox->set_tooltip_markup (M("TP_PRSHARPENING_TOOLTIP"));
getSubToolsContainer()->hide();
getSubToolsContainer()->set_tooltip_markup (M("TP_PRSHARPENING_TOOLTIP"));
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.
if (method->get_active_row_number() == 0) {
packBox->set_sensitive(true);
getSubToolsContainer()->set_sensitive(true);
} else {
packBox->set_sensitive(false);
getSubToolsContainer()->set_sensitive(false);
}
}

View File

@ -37,11 +37,6 @@ public:
Resize ();
~Resize () override;
Gtk::Box* getPackBox ()
{
return packBox;
}
void read (const rtengine::procparams::ProcParams* pp, const 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;
@ -89,7 +84,6 @@ private:
int cropw, croph;
sigc::connection sconn, aconn, wconn, hconn, leconn, seconn;
bool wDirty, hDirty, leDirty, seDirty;
ToolParamBlock* packBox;
IdleRegister idle_register;
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"))
{
packBox = Gtk::manage (new ToolParamBlock ());
pack_start (*packBox);
show_all ();
}

View File

@ -27,16 +27,8 @@ class SensorBayer final :
public FoldableToolPanel
{
protected:
ToolParamBlock* packBox;
public:
static const Glib::ustring TOOL_NAME;
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"))
{
packBox = Gtk::manage (new ToolParamBlock ());
pack_start (*packBox);
show_all ();
}

View File

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

View File

@ -38,6 +38,7 @@ ToolVBox::ToolVBox() {
ToolParamBlock::ToolParamBlock() {
set_orientation(Gtk::ORIENTATION_VERTICAL);
get_style_context()->add_class("ToolParamBlock");
//GTK318
#if GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION < 20
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(
new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL));
subToolsContainer = Gtk::manage(
new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL));
subToolsContainer = Gtk::manage(new ToolParamBlock());
subToolsContainer->get_style_context()->add_class("SubToolsContainer");
expanderContents->get_style_context()->add_class("ExpanderContents");
expanderContents->pack_start(*content, false, false, 0);
expanderContents->pack_start(*subToolsContainer, false, false, 0);

View File

@ -98,7 +98,7 @@ public:
{
return nullptr;
}
virtual Gtk::Box *getSubToolsContainer() const
virtual ToolParamBlock *getSubToolsContainer() const
{
return nullptr;
}
@ -168,7 +168,7 @@ class FoldableToolPanel :
protected:
Gtk::Box* parentContainer;
MyExpander* exp;
Gtk::Box *subToolsContainer;
ToolParamBlock *subToolsContainer;
bool lastEnabled;
sigc::connection enaConn;
void foldThemAll (GdkEventButton* event);
@ -183,7 +183,7 @@ public:
return exp;
}
Gtk::Box *getSubToolsContainer() const final
ToolParamBlock *getSubToolsContainer() const final
{
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));
imgPanelEnd[i] = Gtk::manage (new RTImage ("ornament1.png"));
imgPanelEnd[i]->show();
vbPanelEnd[i]->get_style_context()->add_class("PanelEnding");
vbPanelEnd[i]->pack_start(*imgPanelEnd[i], Gtk::PACK_SHRINK);
vbPanelEnd[i]->show_all();
}
@ -423,37 +424,37 @@ ToolPanelCoordinator::ToolPanelCoordinator (bool batch) : ipc (nullptr), favorit
Gtk::manage(new Gtk::Box(Gtk::Orientation::ORIENTATION_VERTICAL));
favoritePanelSW->add(*favoritePanelContainer);
favoritePanelContainer->pack_start(*favoritePanel, Gtk::PACK_SHRINK, 0);
favoritePanelContainer->pack_start(*vbPanelEnd[0], Gtk::PACK_SHRINK, 4);
favoritePanelContainer->pack_start(*favoritePanel, Gtk::PACK_SHRINK);
favoritePanelContainer->pack_start(*vbPanelEnd[0], Gtk::PACK_SHRINK);
favoritePanelSW->show_all();
exposurePanelSW->add (*exposurePanelContainer);
exposurePanelContainer->pack_start(*exposurePanel, Gtk::PACK_SHRINK, 0);
exposurePanelContainer->pack_start (*vbPanelEnd[1], Gtk::PACK_SHRINK, 4);
exposurePanelContainer->pack_start(*exposurePanel, Gtk::PACK_SHRINK);
exposurePanelContainer->pack_start (*vbPanelEnd[1], Gtk::PACK_SHRINK);
detailsPanelSW->add (*detailsPanelContainer);
detailsPanelContainer->pack_start(*detailsPanel, Gtk::PACK_SHRINK, 0);
detailsPanelContainer->pack_start (*vbPanelEnd[2], Gtk::PACK_SHRINK, 4);
detailsPanelContainer->pack_start(*detailsPanel, Gtk::PACK_SHRINK);
detailsPanelContainer->pack_start (*vbPanelEnd[2], Gtk::PACK_SHRINK);
colorPanelSW->add (*colorPanelContainer);
colorPanelContainer->pack_start(*colorPanel, Gtk::PACK_SHRINK, 0);
colorPanelContainer->pack_start (*vbPanelEnd[3], Gtk::PACK_SHRINK, 4);
colorPanelContainer->pack_start(*colorPanel, Gtk::PACK_SHRINK);
colorPanelContainer->pack_start (*vbPanelEnd[3], Gtk::PACK_SHRINK);
advancedPanelSW->add (*advancedPanelContainer);
advancedPanelContainer->pack_start(*advancedPanel, Gtk::PACK_SHRINK, 0);
advancedPanelContainer->pack_start (*vbPanelEnd[6], Gtk::PACK_SHRINK, 0);
advancedPanelContainer->pack_start(*advancedPanel, Gtk::PACK_SHRINK);
advancedPanelContainer->pack_start (*vbPanelEnd[6], Gtk::PACK_SHRINK);
locallabPanelSW->add(*locallabPanelContainer);
locallabPanelContainer->pack_start(*locallabPanel, Gtk::PACK_SHRINK, 0);
locallabPanelContainer->pack_start(*vbPanelEnd[7], Gtk::PACK_SHRINK, 4);
locallabPanelContainer->pack_start(*locallabPanel, Gtk::PACK_SHRINK);
locallabPanelContainer->pack_start(*vbPanelEnd[7], Gtk::PACK_SHRINK);
transformPanelSW->add (*transformPanelContainer);
transformPanelContainer->pack_start(*transformPanel, Gtk::PACK_SHRINK, 0);
transformPanelContainer->pack_start (*vbPanelEnd[4], Gtk::PACK_SHRINK, 4);
transformPanelContainer->pack_start(*transformPanel, Gtk::PACK_SHRINK);
transformPanelContainer->pack_start (*vbPanelEnd[4], Gtk::PACK_SHRINK);
rawPanelSW->add (*rawPanelContainer);
rawPanelContainer->pack_start(*rawPanel, Gtk::PACK_SHRINK, 0);
rawPanelContainer->pack_start (*vbPanelEnd[5], Gtk::PACK_SHRINK, 0);
rawPanelContainer->pack_start(*rawPanel, Gtk::PACK_SHRINK);
rawPanelContainer->pack_start (*vbPanelEnd[5], Gtk::PACK_SHRINK);
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")));