Author: mir3x
Date: Sun Sep  4 16:55:10 2016
New Revision: 33747

URL: http://svn.gna.org/viewcvs/freeciv?rev=33747&view=rev
Log:
Qt client - updated sidebar

See patch #7665


Modified:
    trunk/client/gui-qt/fc_client.cpp
    trunk/client/gui-qt/fc_client.h
    trunk/client/gui-qt/mapview.cpp
    trunk/client/gui-qt/mapview.h
    trunk/client/gui-qt/menu.cpp
    trunk/client/gui-qt/messagewin.cpp
    trunk/client/gui-qt/pages.cpp
    trunk/client/gui-qt/sidebar.cpp

Modified: trunk/client/gui-qt/fc_client.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/fc_client.cpp?rev=33747&r1=33746&r2=33747&view=diff
==============================================================================
--- trunk/client/gui-qt/fc_client.cpp   (original)
+++ trunk/client/gui-qt/fc_client.cpp   Sun Sep  4 16:55:10 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: trunk/client/gui-qt/fc_client.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/fc_client.h?rev=33747&r1=33746&r2=33747&view=diff
==============================================================================
--- trunk/client/gui-qt/fc_client.h     (original)
+++ trunk/client/gui-qt/fc_client.h     Sun Sep  4 16:55:10 2016
@@ -158,6 +158,7 @@
 
   QGridLayout *pages_layout[PAGE_GAME + 1];
   QStackedLayout *central_layout;
+  QGridLayout *game_layout;
 
   QTextEdit *output_window;
   QTextEdit *scenarios_view;

Modified: trunk/client/gui-qt/mapview.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/mapview.cpp?rev=33747&r1=33746&r2=33747&view=diff
==============================================================================
--- trunk/client/gui-qt/mapview.cpp     (original)
+++ trunk/client/gui-qt/mapview.cpp     Sun Sep  4 16:55:10 2016
@@ -295,6 +295,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
@@ -889,6 +917,7 @@
 {
   gui()->update_info_label();
 }
+
 
 /****************************************************************************
   Real update, updates only once per 300 ms.

Modified: trunk/client/gui-qt/mapview.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/mapview.h?rev=33747&r1=33746&r2=33747&view=diff
==============================================================================
--- trunk/client/gui-qt/mapview.h       (original)
+++ trunk/client/gui-qt/mapview.h       Sun Sep  4 16:55:10 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: trunk/client/gui-qt/menu.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/menu.cpp?rev=33747&r1=33746&r2=33747&view=diff
==============================================================================
--- trunk/client/gui-qt/menu.cpp        (original)
+++ trunk/client/gui-qt/menu.cpp        Sun Sep  4 16:55:10 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
@@ -634,6 +647,8 @@
 {
   // Register ourselves to get updates for free.
   instances << this;
+  setStyleSheet(menu_style);
+  setAttribute(Qt::WA_TranslucentBackground);
 }
 
 /****************************************************************************
@@ -1081,6 +1096,7 @@
 ****************************************************************************/
 mr_menu::mr_menu() : QMenuBar()
 {
+  setStyleSheet(menu_style);
 }
 
 /****************************************************************************
@@ -1092,6 +1108,9 @@
 {
   QAction *act;
   QMenu *pr;
+  QList<QMenu*> menus;
+  int i;
+
   delayed_order = false;
   airlift_type_id = 0;
   quick_airlifting = false;
@@ -1665,6 +1684,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);
 }
 
@@ -2686,9 +2709,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;
 }
@@ -3087,3 +3112,4 @@
     }
   } city_list_iterate_end;
 }
+

Modified: trunk/client/gui-qt/messagewin.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/messagewin.cpp?rev=33747&r1=33746&r2=33747&view=diff
==============================================================================
--- trunk/client/gui-qt/messagewin.cpp  (original)
+++ trunk/client/gui-qt/messagewin.cpp  Sun Sep  4 16:55:10 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: trunk/client/gui-qt/pages.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/pages.cpp?rev=33747&r1=33746&r2=33747&view=diff
==============================================================================
--- trunk/client/gui-qt/pages.cpp       (original)
+++ trunk/client/gui-qt/pages.cpp       Sun Sep  4 16:55:10 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: trunk/client/gui-qt/sidebar.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/sidebar.cpp?rev=33747&r1=33746&r2=33747&view=diff
==============================================================================
--- trunk/client/gui-qt/sidebar.cpp     (original)
+++ trunk/client/gui-qt/sidebar.cpp     Sun Sep  4 16:55:10 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

Reply via email to