diff options
author | rathnor <rathnor> | 2004-06-16 15:38:19 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2004-06-16 15:38:19 (GMT) |
commit | 8f88c1fecb28dc15ecfd2ee210a8e466afe5456c (patch) | |
tree | 5adbb44deec68449ee216c10ff047d4446c2a510 /src/Toolbar.cc | |
parent | db6e78bba9fbd0e216f0ebbe5d4f55090ca62069 (diff) | |
download | fluxbox_pavel-8f88c1fecb28dc15ecfd2ee210a8e466afe5456c.zip fluxbox_pavel-8f88c1fecb28dc15ecfd2ee210a8e466afe5456c.tar.bz2 |
toolbar fixes, updates and optimisations
Diffstat (limited to 'src/Toolbar.cc')
-rw-r--r-- | src/Toolbar.cc | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/Toolbar.cc b/src/Toolbar.cc index b49dcc9..c6ab79c 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: Toolbar.cc,v 1.143 2004/06/10 17:07:58 fluxgen Exp $ | 25 | // $Id: Toolbar.cc,v 1.144 2004/06/16 15:38:19 rathnor Exp $ |
26 | 26 | ||
27 | #include "Toolbar.hh" | 27 | #include "Toolbar.hh" |
28 | 28 | ||
@@ -267,7 +267,8 @@ Toolbar::Toolbar(BScreen &scrn, FbTk::XLayer &layer, size_t width): | |||
267 | // setup to listen to child events | 267 | // setup to listen to child events |
268 | FbTk::EventManager::instance()->addParent(*this, window()); | 268 | FbTk::EventManager::instance()->addParent(*this, window()); |
269 | // get everything together | 269 | // get everything together |
270 | reconfigure(); | 270 | //reconfigure(); |
271 | // this gets done by the screen later as it loads | ||
271 | 272 | ||
272 | } | 273 | } |
273 | 274 | ||
@@ -423,7 +424,7 @@ void Toolbar::reconfigure() { | |||
423 | m_shape.reset(new Shape(frame.window, 0)); | 424 | m_shape.reset(new Shape(frame.window, 0)); |
424 | } | 425 | } |
425 | 426 | ||
426 | // recallibrate size | 427 | // recalibrate size |
427 | setPlacement(placement()); | 428 | setPlacement(placement()); |
428 | 429 | ||
429 | if (isHidden()) { | 430 | if (isHidden()) { |
@@ -552,9 +553,13 @@ void Toolbar::exposeEvent(XExposeEvent &ee) { | |||
552 | 553 | ||
553 | 554 | ||
554 | void Toolbar::handleEvent(XEvent &event) { | 555 | void Toolbar::handleEvent(XEvent &event) { |
556 | /* Commented out by Simon 16jun04, since it causes LOTS of rearrangeItems | ||
557 | particularly on startup. Can't figure out why this is needed. | ||
555 | if (event.type == ConfigureNotify && | 558 | if (event.type == ConfigureNotify && |
556 | event.xconfigure.window != window().window()) | 559 | event.xconfigure.window != window().window()) { |
557 | rearrangeItems(); | 560 | rearrangeItems(); |
561 | } | ||
562 | */ | ||
558 | } | 563 | } |
559 | 564 | ||
560 | void Toolbar::update(FbTk::Subject *subj) { | 565 | void Toolbar::update(FbTk::Subject *subj) { |
@@ -911,7 +916,7 @@ void Toolbar::rearrangeItems() { | |||
911 | } | 916 | } |
912 | // now move and resize the items | 917 | // now move and resize the items |
913 | // borderWidth added back on straight away | 918 | // borderWidth added back on straight away |
914 | int next_x = -2*m_item_list.front()->borderWidth(); // list isn't empty | 919 | int next_x = -m_item_list.front()->borderWidth(); // list isn't empty |
915 | last_bw = 0; | 920 | last_bw = 0; |
916 | for (item_it = m_item_list.begin(); item_it != item_it_end; ++item_it) { | 921 | for (item_it = m_item_list.begin(); item_it != item_it_end; ++item_it) { |
917 | if (!(*item_it)->active()) { | 922 | if (!(*item_it)->active()) { |
@@ -934,9 +939,9 @@ void Toolbar::rearrangeItems() { | |||
934 | --rounding_error; | 939 | --rounding_error; |
935 | } | 940 | } |
936 | 941 | ||
937 | (*item_it)->moveResize(next_x, -borderW, extra + relative_width, height()); | 942 | (*item_it)->moveResize(next_x - borderW, -borderW, extra + relative_width, height()); |
938 | } else { // fixed size | 943 | } else { // fixed size |
939 | (*item_it)->moveResize(next_x, -borderW, | 944 | (*item_it)->moveResize(next_x - borderW, -borderW, |
940 | (*item_it)->width(), height()); | 945 | (*item_it)->width(), height()); |
941 | } | 946 | } |
942 | next_x += (*item_it)->width(); | 947 | next_x += (*item_it)->width(); |