aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2003-02-16 00:09:34 (GMT)
committerfluxgen <fluxgen>2003-02-16 00:09:34 (GMT)
commit82c251779b8aa4ed45d8424807321284785d5877 (patch)
tree71963314e166f6f1e434ec2c750ddb88f0add876
parentdf5ba6f28030e7be7a567313ee04b6d71ca2df9b (diff)
downloadfluxbox_paul-82c251779b8aa4ed45d8424807321284785d5877.zip
fluxbox_paul-82c251779b8aa4ed45d8424807321284785d5877.tar.bz2
using reference for screen, some minor indentation
-rw-r--r--src/Toolbar.cc186
1 files changed, 99 insertions, 87 deletions
diff --git a/src/Toolbar.cc b/src/Toolbar.cc
index 856c8e6..241433c 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.56 2003/02/15 02:00:29 fluxgen Exp $ 25// $Id: Toolbar.cc,v 1.57 2003/02/16 00:09:34 fluxgen Exp $
26 26
27#include "Toolbar.hh" 27#include "Toolbar.hh"
28 28
@@ -169,18 +169,18 @@ Toolbar::Frame::~Frame() {
169 evm.remove(clock); 169 evm.remove(clock);
170} 170}
171 171
172Toolbar::Toolbar(BScreen *scrn, size_t width): 172Toolbar::Toolbar(BScreen &scrn, size_t width):
173 on_top(scrn->isToolbarOnTop()), 173 on_top(scrn.isToolbarOnTop()),
174 editing(false), 174 editing(false),
175 hidden(scrn->doToolbarAutoHide()), 175 hidden(scrn.doToolbarAutoHide()),
176 do_auto_hide(scrn->doToolbarAutoHide()), 176 do_auto_hide(scrn.doToolbarAutoHide()),
177 frame(*this, scrn->getScreenNumber()), 177 frame(*this, scrn.getScreenNumber()),
178 m_screen(scrn), 178 m_screen(scrn),
179 image_ctrl(*scrn->getImageControl()), 179 image_ctrl(*scrn.getImageControl()),
180 clock_timer(this), // get the clock updating every minute 180 clock_timer(this), // get the clock updating every minute
181 hide_timer(&hide_handler), 181 hide_timer(&hide_handler),
182 m_toolbarmenu(*scrn->menuTheme(), scrn->getScreenNumber(), *scrn->getImageControl()), 182 m_toolbarmenu(*scrn.menuTheme(), scrn.getScreenNumber(), *scrn.getImageControl()),
183 m_theme(scrn->getScreenNumber()), 183 m_theme(scrn.getScreenNumber()),
184 m_place(BOTTOMCENTER), 184 m_place(BOTTOMCENTER),
185 m_themelistener(*this) { 185 m_themelistener(*this) {
186 186
@@ -216,17 +216,22 @@ Toolbar::Toolbar(BScreen *scrn, size_t width):
216 216
217 217
218 if (Fluxbox::instance()->useIconBar()) 218 if (Fluxbox::instance()->useIconBar())
219 m_iconbar.reset(new IconBar(screen(), frame.window_label.window())); 219 m_iconbar.reset(new IconBar(&screen(), frame.window_label.window()));
220 220
221 221
222 XMapSubwindows(display, frame.window.window()); 222 XMapSubwindows(display, frame.window.window());
223 frame.window.show(); 223 frame.window.show();
224 224
225 // finaly: setup Commands for the buttons in the frame 225 // finaly: setup Commands for the buttons in the frame
226 FbTk::RefCount<FbTk::Command> nextworkspace(new FbTk::SimpleCommand<BScreen>(*screen(), &BScreen::nextWorkspace)); 226 typedef FbTk::SimpleCommand<BScreen> ScreenCmd;
227 FbTk::RefCount<FbTk::Command> prevworkspace(new FbTk::SimpleCommand<BScreen>(*screen(), &BScreen::prevWorkspace)); 227 FbTk::RefCount<FbTk::Command> nextworkspace(new ScreenCmd(screen(),
228 FbTk::RefCount<FbTk::Command> nextwindow(new FbTk::SimpleCommand<BScreen>(*screen(), &BScreen::nextFocus)); 228 &BScreen::nextWorkspace));
229 FbTk::RefCount<FbTk::Command> prevwindow(new FbTk::SimpleCommand<BScreen>(*screen(), &BScreen::prevFocus)); 229 FbTk::RefCount<FbTk::Command> prevworkspace(new ScreenCmd(screen(),
230 &BScreen::prevWorkspace));
231 FbTk::RefCount<FbTk::Command> nextwindow(new ScreenCmd(screen(),
232 &BScreen::nextFocus));
233 FbTk::RefCount<FbTk::Command> prevwindow(new ScreenCmd(screen(),
234 &BScreen::prevFocus));
230 frame.psbutton.setOnClick(prevworkspace); 235 frame.psbutton.setOnClick(prevworkspace);
231 frame.nsbutton.setOnClick(nextworkspace); 236 frame.nsbutton.setOnClick(nextworkspace);
232 frame.pwbutton.setOnClick(prevwindow); 237 frame.pwbutton.setOnClick(prevwindow);
@@ -269,7 +274,7 @@ void Toolbar::delIcon(FluxboxWindow *w) {
269 274
270void Toolbar::reconfigure() { 275void Toolbar::reconfigure() {
271 276
272 frame.bevel_w = screen()->getBevelWidth(); 277 frame.bevel_w = screen().getBevelWidth();
273 278
274 // recallibrate size 279 // recallibrate size
275 setPlacement(m_place); 280 setPlacement(m_place);
@@ -282,7 +287,7 @@ void Toolbar::reconfigure() {
282 tt = localtime(&ttmp); 287 tt = localtime(&ttmp);
283 if (tt) { 288 if (tt) {
284 char t[1024], *time_string = (char *) 0; 289 char t[1024], *time_string = (char *) 0;
285 int len = strftime(t, 1024, screen()->getStrftimeFormat(), tt); 290 int len = strftime(t, 1024, screen().getStrftimeFormat(), tt);
286 291
287 time_string = new char[len + 1]; 292 time_string = new char[len + 1];
288 293
@@ -313,10 +318,9 @@ void Toolbar::reconfigure() {
313 unsigned int w = 0; 318 unsigned int w = 0;
314 frame.workspace_label_w = 0; 319 frame.workspace_label_w = 0;
315 320
316 for (i = 0; i < screen()->getCount(); i++) { 321 for (i = 0; i < screen().getCount(); i++) {
317 w = m_theme.font().textWidth( 322 w = m_theme.font().textWidth(screen().getWorkspace(i)->name().c_str(),
318 screen()->getWorkspace(i)->name().c_str(), 323 screen().getWorkspace(i)->name().size());
319 screen()->getWorkspace(i)->name().size());
320 324
321 w += (frame.bevel_w * 4); 325 w += (frame.bevel_w * 4);
322 326
@@ -504,8 +508,8 @@ void Toolbar::reconfigure() {
504 if (tmp) 508 if (tmp)
505 image_ctrl.removeImage(tmp); 509 image_ctrl.removeImage(tmp);
506 510
507 frame.window.setBorderColor(*screen()->getBorderColor()); 511 frame.window.setBorderColor(*screen().getBorderColor());
508 frame.window.setBorderWidth(screen()->getBorderWidth()); 512 frame.window.setBorderWidth(screen().getBorderWidth());
509 513
510 frame.window.clear(); 514 frame.window.clear();
511 frame.workspace_label.clear(); 515 frame.workspace_label.clear();
@@ -524,9 +528,9 @@ void Toolbar::reconfigure() {
524 528
525 if (Fluxbox::instance()->useIconBar()) { 529 if (Fluxbox::instance()->useIconBar()) {
526 if (m_iconbar.get() == 0) { // create new iconbar if we don't have one 530 if (m_iconbar.get() == 0) { // create new iconbar if we don't have one
527 m_iconbar.reset(new IconBar(screen(), frame.window_label.window())); 531 m_iconbar.reset(new IconBar(&screen(), frame.window_label.window()));
528 if (screen()->getIconCount()) { 532 if (screen().getIconCount()) {
529 BScreen::Icons & l = screen()->getIconList(); 533 BScreen::Icons & l = screen().getIconList();
530 BScreen::Icons::iterator it = l.begin(); 534 BScreen::Icons::iterator it = l.begin();
531 BScreen::Icons::iterator it_end = l.end(); 535 BScreen::Icons::iterator it_end = l.end();
532 for(; it != it_end; ++it) { 536 for(; it != it_end; ++it) {
@@ -537,7 +541,7 @@ void Toolbar::reconfigure() {
537 } else 541 } else
538 m_iconbar->reconfigure(); 542 m_iconbar->reconfigure();
539 } else if (m_iconbar.get() != 0) { 543 } else if (m_iconbar.get() != 0) {
540 BScreen::Icons & l = screen()->getIconList(); 544 BScreen::Icons & l = screen().getIconList();
541 BScreen::Icons::iterator it = l.begin(); 545 BScreen::Icons::iterator it = l.begin();
542 BScreen::Icons::iterator it_end = l.end(); 546 BScreen::Icons::iterator it_end = l.end();
543 for(; it != it_end; ++it) 547 for(; it != it_end; ++it)
@@ -574,13 +578,13 @@ void Toolbar::checkClock(bool redraw, bool date) {
574 frame.clock.clear(); 578 frame.clock.clear();
575#ifdef HAVE_STRFTIME 579#ifdef HAVE_STRFTIME
576 char t[1024]; 580 char t[1024];
577 if (! strftime(t, 1024, screen()->getStrftimeFormat(), tt)) 581 if (! strftime(t, 1024, screen().getStrftimeFormat(), tt))
578 return; 582 return;
579#else // !HAVE_STRFTIME 583#else // !HAVE_STRFTIME
580 char t[9]; 584 char t[9];
581 if (date) { 585 if (date) {
582 // format the date... with special consideration for y2k ;) 586 // format the date... with special consideration for y2k ;)
583 if (screen()->getDateFormat() == Blackbox::B_EuropeanDate) { 587 if (screen().getDateFormat() == Blackbox::B_EuropeanDate) {
584 sprintf(t, 588 sprintf(t,
585 i18n->getMessage( 589 i18n->getMessage(
586 ToolbarSet, ToolbarNoStrftimeDateFormatEu, 590 ToolbarSet, ToolbarNoStrftimeDateFormatEu,
@@ -596,7 +600,7 @@ void Toolbar::checkClock(bool redraw, bool date) {
596 (tt->tm_year >= 100) ? tt->tm_year - 100 : tt->tm_year); 600 (tt->tm_year >= 100) ? tt->tm_year - 100 : tt->tm_year);
597 } 601 }
598 } else { 602 } else {
599 if (screen()->isClock24Hour()) { 603 if (screen().isClock24Hour()) {
600 sprintf(t, 604 sprintf(t,
601 i18n->getMessage( 605 i18n->getMessage(
602 ToolbarSet, ToolbarNoStrftimeTimeFormat24, 606 ToolbarSet, ToolbarNoStrftimeTimeFormat24,
@@ -634,7 +638,7 @@ void Toolbar::checkClock(bool redraw, bool date) {
634 } 638 }
635 m_theme.font().drawText( 639 m_theme.font().drawText(
636 frame.clock.window(), 640 frame.clock.window(),
637 screen()->getScreenNumber(), 641 screen().getScreenNumber(),
638 m_theme.clockTextGC(), 642 m_theme.clockTextGC(),
639 t, newlen, 643 t, newlen,
640 dx, dy); 644 dx, dy);
@@ -648,14 +652,16 @@ void Toolbar::redrawWindowLabel(bool redraw) {
648 frame.window_label.clear(); 652 frame.window_label.clear();
649 653
650 FluxboxWindow *foc = Fluxbox::instance()->getFocusedWindow(); 654 FluxboxWindow *foc = Fluxbox::instance()->getFocusedWindow();
651 if (foc->getScreen() != screen() || foc->getTitle().size() == 0) 655 // don't draw focused window if it's not on the same screen
656 if (foc->getScreen() != &screen() || foc->getTitle().size() == 0)
652 return; 657 return;
653 658
654 size_t newlen = foc->getTitle().size(); 659 size_t newlen = foc->getTitle().size();
655 int dx = FbTk::doAlignment(frame.window_label_w, frame.bevel_w*2, 660 int dx = FbTk::doAlignment(frame.window_label_w, frame.bevel_w*2,
656 m_theme.justify(), 661 m_theme.justify(),
657 m_theme.font(), 662 m_theme.font(),
658 foc->getTitle().c_str(), foc->getTitle().size(), newlen); 663 foc->getTitle().c_str(),
664 foc->getTitle().size(), newlen);
659 int dy = 1 + m_theme.font().ascent(); 665 int dy = 1 + m_theme.font().ascent();
660 666
661 if (m_theme.font().isRotated()) { 667 if (m_theme.font().isRotated()) {
@@ -665,25 +671,25 @@ void Toolbar::redrawWindowLabel(bool redraw) {
665 } 671 }
666 672
667 m_theme.font().drawText( 673 m_theme.font().drawText(
668 frame.window_label.window(), 674 frame.window_label.window(),
669 screen()->getScreenNumber(), 675 screen().getScreenNumber(),
670 m_theme.windowTextGC(), 676 m_theme.windowTextGC(),
671 foc->getTitle().c_str(), newlen, 677 foc->getTitle().c_str(), newlen,
672 dx, dy); 678 dx, dy);
673 } else 679 } else
674 frame.window_label.clear(); 680 frame.window_label.clear();
675} 681}
676 682
677 683
678void Toolbar::redrawWorkspaceLabel(bool redraw) { 684void Toolbar::redrawWorkspaceLabel(bool redraw) {
679 if (screen()->getCurrentWorkspace()->name().size()==0) 685 if (screen().getCurrentWorkspace()->name().size()==0)
680 return; 686 return;
681 687
682 if (redraw) 688 if (redraw)
683 frame.workspace_label.clear(); 689 frame.workspace_label.clear();
684 690
685 const char *text = screen()->getCurrentWorkspace()->name().c_str(); 691 const char *text = screen().getCurrentWorkspace()->name().c_str();
686 size_t textlen = screen()->getCurrentWorkspace()->name().size(); 692 size_t textlen = screen().getCurrentWorkspace()->name().size();
687 size_t newlen = textlen; 693 size_t newlen = textlen;
688 int dx = FbTk::doAlignment(frame.workspace_label_w, frame.bevel_w, 694 int dx = FbTk::doAlignment(frame.workspace_label_w, frame.bevel_w,
689 m_theme.justify(), 695 m_theme.justify(),
@@ -697,7 +703,7 @@ void Toolbar::redrawWorkspaceLabel(bool redraw) {
697 } 703 }
698 m_theme.font().drawText( 704 m_theme.font().drawText(
699 frame.workspace_label.window(), 705 frame.workspace_label.window(),
700 screen()->getScreenNumber(), 706 screen().getScreenNumber(),
701 m_theme.labelTextGC(), 707 m_theme.labelTextGC(),
702 text, newlen, 708 text, newlen,
703 dx, dy); 709 dx, dy);
@@ -716,7 +722,7 @@ void Toolbar::edit() {
716 722
717 //set input focus to workspace label 723 //set input focus to workspace label
718 XSetInputFocus(display, frame.workspace_label.window(), 724 XSetInputFocus(display, frame.workspace_label.window(),
719 ((screen()->isSloppyFocus() || screen()->isSemiSloppyFocus()) ? 725 ((screen().isSloppyFocus() || screen().isSemiSloppyFocus()) ?
720 RevertToPointerRoot : RevertToParent), CurrentTime); 726 RevertToPointerRoot : RevertToParent), CurrentTime);
721 727
722 frame.workspace_label.clear(); 728 frame.workspace_label.clear();
@@ -726,7 +732,7 @@ void Toolbar::edit() {
726 fluxbox->getFocusedWindow()->setFocusFlag(false); 732 fluxbox->getFocusedWindow()->setFocusFlag(false);
727 733
728 XDrawRectangle(display, frame.workspace_label.window(), 734 XDrawRectangle(display, frame.workspace_label.window(),
729 screen()->getWindowStyle()->l_text_focus_gc, 735 screen().getWindowStyle()->l_text_focus_gc,
730 frame.workspace_label_w / 2, 0, 1, 736 frame.workspace_label_w / 2, 0, 1,
731 frame.label_h - 1); 737 frame.label_h - 1);
732} 738}
@@ -748,7 +754,7 @@ void Toolbar::buttonPressEvent(XButtonEvent &be) {
748 else if (! on_top) { 754 else if (! on_top) {
749 Workspace::Stack st; 755 Workspace::Stack st;
750 st.push_back(frame.window.window()); 756 st.push_back(frame.window.window());
751 screen()->raiseWindows(st); 757 screen().raiseWindows(st);
752 } 758 }
753 } else if (be.button == 2 && (! on_top)) { 759 } else if (be.button == 2 && (! on_top)) {
754 frame.window.lower(); 760 frame.window.lower();
@@ -766,8 +772,8 @@ void Toolbar::buttonPressEvent(XButtonEvent &be) {
766 } 772 }
767 if (menu_x < 0) { 773 if (menu_x < 0) {
768 menu_x = 0; 774 menu_x = 0;
769 } else if (menu_x + wm.width() > screen()->getWidth()) { 775 } else if (menu_x + wm.width() > screen().getWidth()) {
770 menu_x = screen()->getWidth() - wm.width(); 776 menu_x = screen().getWidth() - wm.width();
771 } 777 }
772 fluxboxwin->showMenu(menu_x, menu_y); 778 fluxboxwin->showMenu(menu_x, menu_y);
773 779
@@ -779,13 +785,13 @@ void Toolbar::buttonPressEvent(XButtonEvent &be) {
779 785
780 if (x < 0) 786 if (x < 0)
781 x = 0; 787 x = 0;
782 else if (x + m_toolbarmenu.width() > screen()->getWidth()) 788 else if (x + m_toolbarmenu.width() > screen().getWidth())
783 x = screen()->getWidth() - m_toolbarmenu.width(); 789 x = screen().getWidth() - m_toolbarmenu.width();
784 790
785 if (y < 0) 791 if (y < 0)
786 y = 0; 792 y = 0;
787 else if (y + m_toolbarmenu.height() > screen()->getHeight()) 793 else if (y + m_toolbarmenu.height() > screen().getHeight())
788 y = screen()->getHeight() - m_toolbarmenu.height(); 794 y = screen().getHeight() - m_toolbarmenu.height();
789 795
790 m_toolbarmenu.move(x, y); 796 m_toolbarmenu.move(x, y);
791 m_toolbarmenu.show(); 797 m_toolbarmenu.show();
@@ -800,7 +806,7 @@ void Toolbar::buttonPressEvent(XButtonEvent &be) {
800void Toolbar::buttonReleaseEvent(XButtonEvent &re) { 806void Toolbar::buttonReleaseEvent(XButtonEvent &re) {
801 if (re.button == 1) { 807 if (re.button == 1) {
802 if (re.window == frame.workspace_label) { 808 if (re.window == frame.workspace_label) {
803 FbTk::Menu *menu = screen()->getWorkspacemenu(); 809 FbTk::Menu *menu = screen().getWorkspacemenu();
804 //move the workspace label and make it visible 810 //move the workspace label and make it visible
805 menu->move(re.x_root, re.y_root); 811 menu->move(re.x_root, re.y_root);
806 // make sure the entire menu is visible (TODO: this is repeated by other menus, make a function!) 812 // make sure the entire menu is visible (TODO: this is repeated by other menus, make a function!)
@@ -808,18 +814,18 @@ void Toolbar::buttonReleaseEvent(XButtonEvent &re) {
808 int newy = menu->y(); // new y position of menu 814 int newy = menu->y(); // new y position of menu
809 if (menu->x() < 0) 815 if (menu->x() < 0)
810 newx = 0; 816 newx = 0;
811 else if (menu->x() + menu->width() > screen()->getWidth()) 817 else if (menu->x() + menu->width() > screen().getWidth())
812 newx = screen()->getWidth() - menu->width(); 818 newx = screen().getWidth() - menu->width();
813 819
814 if (menu->y() < 0) 820 if (menu->y() < 0)
815 newy = 0; 821 newy = 0;
816 else if (menu->y() + menu->height() > screen()->getHeight()) 822 else if (menu->y() + menu->height() > screen().getHeight())
817 newy = screen()->getHeight() - menu->height(); 823 newy = screen().getHeight() - menu->height();
818 // move and show menu 824 // move and show menu
819 menu->move(newx, newy); 825 menu->move(newx, newy);
820 menu->show(); 826 menu->show();
821 } else if (re.window == frame.window_label) 827 } else if (re.window == frame.window_label)
822 screen()->raiseFocus(); 828 screen().raiseFocus();
823#ifndef HAVE_STRFTIME 829#ifndef HAVE_STRFTIME
824 else if (re.window == frame.clock) { 830 else if (re.window == frame.clock) {
825 XClearWindow(display, frame.clock); 831 XClearWindow(display, frame.clock);
@@ -827,9 +833,9 @@ void Toolbar::buttonReleaseEvent(XButtonEvent &re) {
827 } 833 }
828#endif // HAVE_STRFTIME 834#endif // HAVE_STRFTIME
829 } else if (re.button == 4) //mousewheel scroll up 835 } else if (re.button == 4) //mousewheel scroll up
830 screen()->nextWorkspace(1); 836 screen().nextWorkspace(1);
831 else if (re.button == 5) //mousewheel scroll down 837 else if (re.button == 5) //mousewheel scroll down
832 screen()->prevWorkspace(1); 838 screen().prevWorkspace(1);
833} 839}
834 840
835 841
@@ -889,7 +895,7 @@ void Toolbar::keyPressEvent(XKeyEvent &ke) {
889 XSetInputFocus(display, PointerRoot, None, CurrentTime); 895 XSetInputFocus(display, PointerRoot, None, CurrentTime);
890 896
891 if (ks == XK_Return) //change workspace name if keypress = Return 897 if (ks == XK_Return) //change workspace name if keypress = Return
892 screen()->getCurrentWorkspace()->setName(new_workspace_name.c_str()); 898 screen().getCurrentWorkspace()->setName(new_workspace_name.c_str());
893 899
894 new_workspace_name.erase(); //erase temporary workspace name 900 new_workspace_name.erase(); //erase temporary workspace name
895 reconfigure(); 901 reconfigure();
@@ -915,13 +921,13 @@ void Toolbar::keyPressEvent(XKeyEvent &ke) {
915 921
916 m_theme.font().drawText( 922 m_theme.font().drawText(
917 frame.workspace_label.window(), 923 frame.workspace_label.window(),
918 screen()->getScreenNumber(), 924 screen().getScreenNumber(),
919 screen()->getWindowStyle()->l_text_focus_gc, 925 screen().getWindowStyle()->l_text_focus_gc,
920 new_workspace_name.c_str(), l, 926 new_workspace_name.c_str(), l,
921 x, 1 + m_theme.font().ascent()); 927 x, 1 + m_theme.font().ascent());
922 928
923 XDrawRectangle(display, frame.workspace_label.window(), 929 XDrawRectangle(display, frame.workspace_label.window(),
924 screen()->getWindowStyle()->l_text_focus_gc, x + tw, 0, 1, 930 screen().getWindowStyle()->l_text_focus_gc, x + tw, 0, 1,
925 frame.label_h - 1); 931 frame.label_h - 1);
926 } 932 }
927 933
@@ -947,10 +953,10 @@ void Toolbar::setPlacement(Toolbar::Placement where) {
947 953
948 m_place = where; 954 m_place = where;
949 955
950 head_w = screen()->getWidth(); 956 head_w = screen().getWidth();
951 head_h = screen()->getHeight(); 957 head_h = screen().getHeight();
952 958
953 frame.width = head_w * screen()->getToolbarWidthPercent() / 100; 959 frame.width = head_w * screen().getToolbarWidthPercent() / 100;
954 frame.height = m_theme.font().height(); 960 frame.height = m_theme.font().height();
955 961
956 frame.height += 2; 962 frame.height += 2;
@@ -960,7 +966,7 @@ void Toolbar::setPlacement(Toolbar::Placement where) {
960 // should we flipp sizes? 966 // should we flipp sizes?
961 if (isVertical()) { 967 if (isVertical()) {
962 frame.width = frame.height; 968 frame.width = frame.height;
963 frame.height = head_h * screen()->getToolbarWidthPercent() / 100; 969 frame.height = head_h * screen().getToolbarWidthPercent() / 100;
964 if (!m_theme.font().isRotated()) 970 if (!m_theme.font().isRotated())
965 m_theme.font().rotate(90); // rotate to vertical text 971 m_theme.font().rotate(90); // rotate to vertical text
966 972
@@ -979,15 +985,15 @@ void Toolbar::setPlacement(Toolbar::Placement where) {
979 frame.y = head_y; 985 frame.y = head_y;
980 frame.x_hidden = head_x; 986 frame.x_hidden = head_x;
981 frame.y_hidden = head_y + 987 frame.y_hidden = head_y +
982 screen()->getBevelWidth() - screen()->getBorderWidth() - frame.height; 988 screen().getBevelWidth() - screen().getBorderWidth() - frame.height;
983 break; 989 break;
984 990
985 case BOTTOMLEFT: 991 case BOTTOMLEFT:
986 frame.x = head_x; 992 frame.x = head_x;
987 frame.y = head_y + head_h - frame.height - screen()->getBorderWidth2x(); 993 frame.y = head_y + head_h - frame.height - screen().getBorderWidth2x();
988 frame.x_hidden = head_x; 994 frame.x_hidden = head_x;
989 frame.y_hidden = head_y + head_h - screen()->getBevelWidth() - 995 frame.y_hidden = head_y + head_h - screen().getBevelWidth() -
990 screen()->getBorderWidth(); 996 screen().getBorderWidth();
991 break; 997 break;
992 998
993 case TOPCENTER: 999 case TOPCENTER:
@@ -995,64 +1001,70 @@ void Toolbar::setPlacement(Toolbar::Placement where) {
995 frame.y = head_y; 1001 frame.y = head_y;
996 frame.x_hidden = frame.x; 1002 frame.x_hidden = frame.x;
997 frame.y_hidden = head_y + 1003 frame.y_hidden = head_y +
998 screen()->getBevelWidth() - screen()->getBorderWidth() - frame.height; 1004 screen().getBevelWidth() - screen().getBorderWidth() - frame.height;
999 break; 1005 break;
1000 case TOPRIGHT: 1006 case TOPRIGHT:
1001 frame.x = head_x + head_w - frame.width - screen()->getBorderWidth2x(); 1007 frame.x = head_x + head_w - frame.width - screen().getBorderWidth2x();
1002 frame.y = head_y; 1008 frame.y = head_y;
1003 frame.x_hidden = frame.x; 1009 frame.x_hidden = frame.x;
1004 break; 1010 break;
1005 1011
1006 case BOTTOMRIGHT: 1012 case BOTTOMRIGHT:
1007 frame.x = head_x + head_w - frame.width - screen()->getBorderWidth2x(); 1013 frame.x = head_x + head_w - frame.width - screen().getBorderWidth2x();
1008 frame.y = head_y + head_h - frame.height - screen()->getBorderWidth2x(); 1014 frame.y = head_y + head_h - frame.height - screen().getBorderWidth2x();
1009 frame.x_hidden = frame.x; 1015 frame.x_hidden = frame.x;
1010 frame.y_hidden = head_y + head_h - screen()->getBevelWidth() - 1016 frame.y_hidden = head_y + head_h - screen().getBevelWidth() -
1011 screen()->getBorderWidth(); 1017 screen().getBorderWidth();
1012 break; 1018 break;
1013 1019
1014 case BOTTOMCENTER: // default is BOTTOMCENTER 1020 case BOTTOMCENTER: // default is BOTTOMCENTER
1015 default: 1021 default:
1016 frame.x = head_x + (head_w - frame.width) / 2; 1022 frame.x = head_x + (head_w - frame.width) / 2;
1017 frame.y = head_y + head_h - frame.height - screen()->getBorderWidth2x(); 1023 frame.y = head_y + head_h - frame.height - screen().getBorderWidth2x();
1018 frame.x_hidden = frame.x; 1024 frame.x_hidden = frame.x;
1019 frame.y_hidden = head_y + head_h - screen()->getBevelWidth() - 1025 frame.y_hidden = head_y + head_h - screen().getBevelWidth() -
1020 screen()->getBorderWidth(); 1026 screen().getBorderWidth();
1021 break; 1027 break;
1022 case LEFTCENTER: 1028 case LEFTCENTER:
1023 frame.x = head_x; 1029 frame.x = head_x;
1024 frame.y = head_y + (head_h - frame.height)/2; 1030 frame.y = head_y + (head_h - frame.height)/2;
1025 frame.x_hidden = frame.x - frame.width + screen()->getBevelWidth() + screen()->getBorderWidth(); 1031 frame.x_hidden = frame.x - frame.width +
1032 screen().getBevelWidth() + screen().getBorderWidth();
1026 frame.y_hidden = frame.y; 1033 frame.y_hidden = frame.y;
1027 break; 1034 break;
1028 case LEFTTOP: 1035 case LEFTTOP:
1029 frame.x = head_x; 1036 frame.x = head_x;
1030 frame.y = head_y; 1037 frame.y = head_y;
1031 frame.x_hidden = frame.x - frame.width + screen()->getBevelWidth() + screen()->getBorderWidth(); 1038 frame.x_hidden = frame.x - frame.width +
1039 screen().getBevelWidth() + screen().getBorderWidth();
1032 frame.y_hidden = frame.y; 1040 frame.y_hidden = frame.y;
1033 break; 1041 break;
1034 case LEFTBOTTOM: 1042 case LEFTBOTTOM:
1035 frame.x = head_x; 1043 frame.x = head_x;
1036 frame.y = head_y + head_h - frame.height; 1044 frame.y = head_y + head_h - frame.height;
1037 frame.x_hidden = frame.x - frame.width + screen()->getBevelWidth() + screen()->getBorderWidth(); 1045 frame.x_hidden = frame.x - frame.width +
1046 screen().getBevelWidth() + screen().getBorderWidth();
1038 frame.y_hidden = frame.y; 1047 frame.y_hidden = frame.y;
1039 break; 1048 break;
1040 case RIGHTCENTER: 1049 case RIGHTCENTER:
1041 frame.x = head_x + head_w - frame.width; 1050 frame.x = head_x + head_w - frame.width;
1042 frame.y = head_y + (head_h - frame.height)/2; 1051 frame.y = head_y + (head_h - frame.height)/2;
1043 frame.x_hidden = frame.x + frame.width - screen()->getBevelWidth() - screen()->getBorderWidth(); 1052 frame.x_hidden = frame.x + frame.width -
1053 screen().getBevelWidth() - screen().getBorderWidth();
1044 frame.y_hidden = frame.y; 1054 frame.y_hidden = frame.y;
1045 break; 1055 break;
1046 case RIGHTTOP: 1056 case RIGHTTOP:
1047 frame.x = head_x + head_w - frame.width; 1057 frame.x = head_x + head_w - frame.width;
1048 frame.y = head_y; 1058 frame.y = head_y;
1049 frame.x_hidden = frame.x + frame.width - screen()->getBevelWidth() - screen()->getBorderWidth(); 1059 frame.x_hidden = frame.x + frame.width -
1060 screen().getBevelWidth() - screen().getBorderWidth();
1050 frame.y_hidden = frame.y; 1061 frame.y_hidden = frame.y;
1051 break; 1062 break;
1052 case RIGHTBOTTOM: 1063 case RIGHTBOTTOM:
1053 frame.x = head_x + head_w - frame.width; 1064 frame.x = head_x + head_w - frame.width;
1054 frame.y = head_y + head_h - frame.height; 1065 frame.y = head_y + head_h - frame.height;
1055 frame.x_hidden = frame.x + frame.width - screen()->getBevelWidth() - screen()->getBorderWidth(); 1066 frame.x_hidden = frame.x + frame.width -
1067 screen().getBevelWidth() - screen().getBorderWidth();
1056 frame.y_hidden = frame.y; 1068 frame.y_hidden = frame.y;
1057 break; 1069 break;
1058 } 1070 }