Author: mir3x Date: Sun Sep 4 16:54:58 2016 New Revision: 33746 URL: http://svn.gna.org/viewcvs/freeciv?rev=33746&view=rev Log: Qt client - updated sidebar
See patch #7665 Modified: branches/S2_6/client/gui-qt/fc_client.cpp branches/S2_6/client/gui-qt/fc_client.h branches/S2_6/client/gui-qt/mapview.cpp branches/S2_6/client/gui-qt/mapview.h branches/S2_6/client/gui-qt/menu.cpp branches/S2_6/client/gui-qt/messagewin.cpp branches/S2_6/client/gui-qt/pages.cpp branches/S2_6/client/gui-qt/sidebar.cpp Modified: branches/S2_6/client/gui-qt/fc_client.cpp URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-qt/fc_client.cpp?rev=33746&r1=33745&r2=33746&view=diff ============================================================================== --- branches/S2_6/client/gui-qt/fc_client.cpp (original) +++ branches/S2_6/client/gui-qt/fc_client.cpp Sun Sep 4 16:54:58 2016 @@ -100,6 +100,7 @@ x_vote = NULL; gtd = NULL; update_info_timer = nullptr; + game_layout = nullptr; for (int i = 0; i <= PAGE_GAME; i++) { pages_layout[i] = NULL; pages[i] = NULL; @@ -334,7 +335,7 @@ status_bar->setVisible(false); if (gui_options.gui_qt_fullscreen){ gui()->showFullScreen(); - gui()->mapview_wdg->showFullScreen(); + gui()->game_tab_widget->showFullScreen(); } menuBar()->setVisible(true); mapview_wdg->setFocus(); @@ -667,6 +668,7 @@ } } + /**************************************************************************** Contructor for corner widget (used for menubar) ****************************************************************************/ @@ -796,33 +798,12 @@ + id + ".png").toLocal8Bit().data()); } - /**************************************************************************** Resize event for all game tab widgets ****************************************************************************/ -void fc_game_tab_widget::resizeEvent(QResizeEvent* event) -{ - QSize size; - - size = event->size(); - if (C_S_RUNNING <= client_state()) { - gui()->sidebar_wdg->resize_me(size.width(), size.height()); - map_canvas_resized(size.width(), size.height()); - gui()->infotab->resize((size.width() - * gui()->qt_settings.chat_width) / 100, - (size.height() - * gui()->qt_settings.chat_height) / 100); - gui()->infotab->move(0 , size.height() - gui()->infotab->height()); - gui()->infotab->restore_chat(); - gui()->minimapview_wdg->move(size.width() - - gui()->minimapview_wdg->width() - 10, - size.height() - - gui()->minimapview_wdg->height() - 10); - gui()->x_vote->move(width() / 2 - gui()->x_vote->width() / 2, 0); - gui()->update_sidebar_tooltips(); - side_disable_endturn(get_turn_done_button_state()); - } - QWidget::resizeEvent(event); +void fc_game_tab_widget::resizeEvent(QResizeEvent *event) +{ + event->setAccepted(true); } /**************************************************************************** @@ -836,16 +817,20 @@ if (gui()->is_closing()) { return; } + objs = gui()->sidebar_wdg->objects; + + foreach(sw, objs) { + sw->update_final_pixmap(); + } + currentWidget()->hide(); + widget(index)->show(); + /* Set focus to map instead sidebar */ if (gui()->mapview_wdg && gui()->current_page() == PAGE_GAME && index == 0) { gui()->mapview_wdg->setFocus(); } - objs = gui()->sidebar_wdg->objects; - - foreach(sw, objs) { - sw->update_final_pixmap(); - } + } /**************************************************************************** Modified: branches/S2_6/client/gui-qt/fc_client.h URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-qt/fc_client.h?rev=33746&r1=33745&r2=33746&view=diff ============================================================================== --- branches/S2_6/client/gui-qt/fc_client.h (original) +++ branches/S2_6/client/gui-qt/fc_client.h Sun Sep 4 16:54:58 2016 @@ -158,6 +158,7 @@ QGridLayout *pages_layout[PAGE_GAME + 1]; QStackedLayout *central_layout; + QGridLayout *game_layout; QTextEdit *output_window; QTextEdit *scenarios_view; Modified: branches/S2_6/client/gui-qt/mapview.cpp URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-qt/mapview.cpp?rev=33746&r1=33745&r2=33746&view=diff ============================================================================== --- branches/S2_6/client/gui-qt/mapview.cpp (original) +++ branches/S2_6/client/gui-qt/mapview.cpp Sun Sep 4 16:54:58 2016 @@ -294,6 +294,34 @@ { update_cursor(CURSOR_DEFAULT); } + +/************************************************************************** + Resize Event +**************************************************************************/ +void map_view::resizeEvent(QResizeEvent *event) +{ + QSize size; + size = event->size(); + if (C_S_RUNNING <= client_state()) { + map_canvas_resized(size.width(), size.height()); + gui()->sidebar_wdg->resize_me(size.width(), size.height()); + gui()->infotab->resize((size.width() + * gui()->qt_settings.chat_width) / 100, + (size.height() + * gui()->qt_settings.chat_height) / 100); + gui()->infotab->move(0 , size.height() - gui()->infotab->height()); + gui()->infotab->restore_chat(); + gui()->minimapview_wdg->move(size.width() - + gui()->minimapview_wdg->width() - 10, + size.height() - + gui()->minimapview_wdg->height() - 10); + gui()->x_vote->move(width() / 2 - gui()->x_vote->width() / 2, 0); + gui()->update_sidebar_tooltips(); + side_disable_endturn(get_turn_done_button_state()); + } + event->setAccepted(true); +} + /************************************************************************** slot inherited from QPixamp @@ -888,6 +916,7 @@ { gui()->update_info_label(); } + /**************************************************************************** Real update, updates only once per 300 ms. Modified: branches/S2_6/client/gui-qt/mapview.h URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-qt/mapview.h?rev=33746&r1=33745&r2=33746&view=diff ============================================================================== --- branches/S2_6/client/gui-qt/mapview.h (original) +++ branches/S2_6/client/gui-qt/mapview.h Sun Sep 4 16:54:58 2016 @@ -135,6 +135,7 @@ void mouseMoveEvent(QMouseEvent *event); void focusOutEvent(QFocusEvent *event); void leaveEvent(QEvent *event); + void resizeEvent(QResizeEvent *event); private slots: void timer_event(); private: Modified: branches/S2_6/client/gui-qt/menu.cpp URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-qt/menu.cpp?rev=33746&r1=33745&r2=33746&view=diff ============================================================================== --- branches/S2_6/client/gui-qt/menu.cpp (original) +++ branches/S2_6/client/gui-qt/menu.cpp Sun Sep 4 16:54:58 2016 @@ -58,6 +58,19 @@ extern QApplication *qapp; static bool has_player_unit_type(Unit_type_id utype); +static QString menu_style = "QMenuBar { background-color: #3A3A3A;}" + "QMenuBar::item { spacing: 3px; padding: 1px 4px; color: #FFFFFF;" + "background: transparent;border-radius: none}" + "QMenuBar::item:selected { color: #3399FF;" + "background: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #111111, " + "stop:0.89 #111111 stop: 0.9 #3399FF,stop: 1 #3399FF); }" + "QMenuBar::item:pressed {background: #111111;}" + "QMenu {background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 " + "rgba(84, 85, 86, 225), stop:1 rgba(55, 55, 54, 255)) ;border:none;}" + "QMenu::item {color: #FFFFFF;padding: 3px 20px 3px 25px; ;border: 2px solid transparent;}" + "QMenu::item:disabled {color: #999999;}" + "QMenu::item:selected {color: #3399FF; background-color: " + "rgba(55, 55, 54, 255); border: 2px solid grey; border-radius: 9px;}"; /************************************************************************** New turn callback @@ -630,6 +643,8 @@ { // Register ourselves to get updates for free. instances << this; + setStyleSheet(menu_style); + setAttribute(Qt::WA_TranslucentBackground); } /**************************************************************************** @@ -906,6 +921,7 @@ ****************************************************************************/ mr_menu::mr_menu() : QMenuBar() { + setStyleSheet(menu_style); } /**************************************************************************** @@ -917,6 +933,9 @@ { QAction *act; QMenu *pr; + QList<QMenu*> menus; + int i; + delayed_order = false; airlift_type_id = 0; quick_airlifting = false; @@ -1482,6 +1501,10 @@ connect(act, SIGNAL(triggered()), signal_help_mapper, SLOT(map())); signal_help_mapper->setMapping(act, HELP_ABOUT_ITEM); + menus = this->findChildren<QMenu*>(); + for (i = 0; i < menus.count(); i++) { + menus[i]->setAttribute(Qt::WA_TranslucentBackground); + } this->setVisible(false); } @@ -2490,9 +2513,11 @@ { if (!gui_options.gui_qt_fullscreen) { gui()->showFullScreen(); - gui()->mapview_wdg->showFullScreen(); + gui()->game_tab_widget->showFullScreen(); } else { + // FIXME Doesnt return properly, probably something with sidebar gui()->showNormal(); + gui()->game_tab_widget->showNormal(); } gui_options.gui_qt_fullscreen = !gui_options.gui_qt_fullscreen; } @@ -2891,3 +2916,4 @@ } } city_list_iterate_end; } + Modified: branches/S2_6/client/gui-qt/messagewin.cpp URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-qt/messagewin.cpp?rev=33746&r1=33745&r2=33746&view=diff ============================================================================== --- branches/S2_6/client/gui-qt/messagewin.cpp (original) +++ branches/S2_6/client/gui-qt/messagewin.cpp Sun Sep 4 16:54:58 2016 @@ -199,7 +199,8 @@ "QScrollBar::handle:vertical {background: #90A4FF;" "min-height: 20px}" "QTableWidget {background-color: transparent;}" - "QTableWidget::item:hover {background: #107511;}" + "QTableWidget::item:hover {color: #3399FF; background-color: " + "rgba(55, 55, 54, 225); border-radius: 9px;}" "QTableCornerButton::section " "{background-color: transparent;}"); mesg_table = new QTableWidget; Modified: branches/S2_6/client/gui-qt/pages.cpp URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-qt/pages.cpp?rev=33746&r1=33745&r2=33746&view=diff ============================================================================== --- branches/S2_6/client/gui-qt/pages.cpp (original) +++ branches/S2_6/client/gui-qt/pages.cpp Sun Sep 4 16:54:58 2016 @@ -721,6 +721,7 @@ game_main_widget->setLayout(game_layout); game_tab_widget = new fc_game_tab_widget; game_tab_widget->setMinimumSize(600,400); + game_tab_widget->setContentsMargins(0, 0, 0, 0); add_game_tab(game_main_widget); if (gui_options.gui_qt_sidebar_left) { pages_layout[PAGE_GAME]->addWidget(sidebar_wdg, 1, 0); Modified: branches/S2_6/client/gui-qt/sidebar.cpp URL: http://svn.gna.org/viewcvs/freeciv/branches/S2_6/client/gui-qt/sidebar.cpp?rev=33746&r1=33745&r2=33746&view=diff ============================================================================== --- branches/S2_6/client/gui-qt/sidebar.cpp (original) +++ branches/S2_6/client/gui-qt/sidebar.cpp Sun Sep 4 16:54:58 2016 @@ -280,6 +280,7 @@ event->accept(); } + /*************************************************************************** Blinks current sidebar widget ***************************************************************************/ @@ -433,6 +434,7 @@ layout = new QVBoxLayout; layout->setContentsMargins(0, 0, 0, 0); setLayout(layout); + setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); } /*************************************************************************** @@ -464,6 +466,7 @@ paint(&painter, event); painter.end(); } + /*************************************************************************** Paints dark rectangle as background for sidebar @@ -478,13 +481,16 @@ Resize sidebar to take 100 pixels or 10% of given width, and all widgets inside sidebar **************************************************************************/ -void fc_sidebar::resize_me(int width, int height) +void fc_sidebar::resize_me(int wdth, int hght) { int w, h, non_std, non_std_count;; - w = width / 10; - h = height; + w = wdth / 10; + h = hght; w = qMin(100, w); - setFixedSize(w, h); + + if (qAbs(width() - w) > 2) { + setFixedWidth(w); + } if (sidebar_img) { delete sidebar_img; @@ -507,12 +513,12 @@ } h = h - non_std; - + h = h / (objects.count() - non_std_count) - 7; /* resize all standard sidewidgets */ foreach (fc_sidewidget * sw, objects) { if (sw->standard == SW_STD) { - sw->resize_pixmap(w, h / (objects.count() - non_std_count)); - sw->setFixedSize(w, h / (objects.count() - non_std_count) - 2); + sw->resize_pixmap(w, h); + sw->setFixedSize(w, h); sw->update_final_pixmap(); } } _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits