Author: mir3x
Date: Thu Aug 21 18:59:35 2014
New Revision: 25979

URL: http://svn.gna.org/viewcvs/freeciv?rev=25979&view=rev
Log:
Corrected text in report dialogs.
Nation dialog sorts players by score in right order now.
Removed barbarians from nation dialog.

See patch #5054

Modified:
    trunk/client/gui-qt/cityrep.cpp
    trunk/client/gui-qt/plrdlg.cpp
    trunk/client/gui-qt/plrdlg.h
    trunk/client/gui-qt/repodlgs.cpp

Modified: trunk/client/gui-qt/cityrep.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/cityrep.cpp?rev=25979&r1=25978&r2=25979&view=diff
==============================================================================
--- trunk/client/gui-qt/cityrep.cpp     (original)
+++ trunk/client/gui-qt/cityrep.cpp     Thu Aug 21 18:59:35 2014
@@ -46,14 +46,7 @@
                                const QStyleOptionViewItem &option, 
                                const QModelIndex &index) const
 {
-  QStyleOptionViewItemV3 opt = QItemDelegate::setOptions(index, option);
-
-  painter->save();
-    QItemDelegate::drawBackground(painter, opt, index);
-    opt.displayAlignment = Qt::AlignLeft;
-    QItemDelegate::drawDisplay(painter, opt, option.rect,
-                               index.data().toString());
-   painter->restore();
+  QItemDelegate::paint(painter, option, index);
 }
 
 /***************************************************************************

Modified: trunk/client/gui-qt/plrdlg.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/plrdlg.cpp?rev=25979&r1=25978&r2=25979&view=diff
==============================================================================
--- trunk/client/gui-qt/plrdlg.cpp      (original)
+++ trunk/client/gui-qt/plrdlg.cpp      Thu Aug 21 18:59:35 2014
@@ -42,6 +42,17 @@
   return QRect(check_box_point, check_box_rect.size());
 }
 
+/**************************************************************************
+  Slighty increase deafult cell height
+**************************************************************************/
+QSize plr_item_delegate::sizeHint(const QStyleOptionViewItem &option,
+                                  const QModelIndex &index) const
+{
+  QSize r;
+  r =  QItemDelegate::sizeHint(option, index);
+  r.setHeight(r.height() + 4);
+  return r;
+}
 
 /**************************************************************************
   Paint evenet for custom player item delegation
@@ -52,7 +63,10 @@
   QStyleOptionButton but;
   QStyleOptionButton cbso;
   bool b;
+  QString str;
+  QRect rct;
   QPixmap pix(16, 16);
+
   QStyleOptionViewItemV3 opt = QItemDelegate::setOptions(index, option);
   painter->save();
   switch (player_dlg_columns[index.column()].type) {
@@ -80,16 +94,22 @@
     QApplication::style()->drawControl(QStyle::CE_CheckBox, &cbso, painter);
     break;
   case COL_TEXT:
-    QItemDelegate::drawBackground(painter, opt, index);
-    opt.displayAlignment = Qt::AlignLeft;
-    QItemDelegate::drawDisplay(painter, opt, option.rect,
-                               index.data().toString());
+    QItemDelegate::paint(painter, option, index);
     break;
   case COL_RIGHT_TEXT:
     QItemDelegate::drawBackground(painter, opt, index);
     opt.displayAlignment = Qt::AlignRight;
-    QItemDelegate::drawDisplay(painter, opt, option.rect,
-                               index.data().toString());
+    rct = option.rect;
+    rct.setTop((rct.top() + rct.bottom()) / 2
+               - opt.fontMetrics.height() / 2);
+    rct.setBottom((rct.top()+rct.bottom()) / 2
+                  + opt.fontMetrics.height() / 2);
+    if (index.data().toInt() == -1){
+      str = "?";
+    } else {
+      str = index.data().toString();
+    }
+    QItemDelegate::drawDisplay(painter, opt, rct, str);
     break;
   default:
     QItemDelegate::paint(painter, option, index);
@@ -119,6 +139,7 @@
 QVariant plr_item::data(int column, int role) const
 {
   QPixmap *pix;
+  QString str;
   struct player_dlg_column *pdc;
 
   if (role == Qt::UserRole) {
@@ -140,8 +161,16 @@
     return pdc->bool_func(ipplayer);
     break;
   case COL_TEXT:
+    return pdc->func(ipplayer);
+    break;
   case COL_RIGHT_TEXT:
-    return pdc->func(ipplayer);
+    str = pdc->func(ipplayer);
+    if (str.toInt() != 0){
+      return str.toInt();
+    } else if (str == "?"){
+      return -1;
+    }
+    return str;
   default:
     return QVariant();
   }
@@ -226,6 +255,9 @@
 {
   plr_item *pi;
   players_iterate(pplayer) {
+    if ((is_barbarian(pplayer))){
+      continue;
+    }
     pi = new plr_item(pplayer);
     plr_list << pi;
   } players_iterate_end;

Modified: trunk/client/gui-qt/plrdlg.h
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/plrdlg.h?rev=25979&r1=25978&r2=25979&view=diff
==============================================================================
--- trunk/client/gui-qt/plrdlg.h        (original)
+++ trunk/client/gui-qt/plrdlg.h        Thu Aug 21 18:59:35 2014
@@ -55,6 +55,8 @@
  ~plr_item_delegate() {}
  void paint(QPainter *painter, const QStyleOptionViewItem &option,
             const QModelIndex &index) const;
+ virtual QSize sizeHint (const QStyleOptionViewItem & option,
+                         const QModelIndex & index ) const;
 };
 
 /***************************************************************************

Modified: trunk/client/gui-qt/repodlgs.cpp
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/client/gui-qt/repodlgs.cpp?rev=25979&r1=25978&r2=25979&view=diff
==============================================================================
--- trunk/client/gui-qt/repodlgs.cpp    (original)
+++ trunk/client/gui-qt/repodlgs.cpp    Thu Aug 21 18:59:35 2014
@@ -736,6 +736,7 @@
 **************************************************************************/
 eco_report::eco_report(): QWidget()
 {
+  QHeaderView *header;
   QGridLayout *eco_layout = new QGridLayout;
   eco_widget = new QTableWidget;
   disband_button = new QPushButton;
@@ -754,6 +755,9 @@
   eco_widget->horizontalHeader()->resizeSections(QHeaderView::Stretch);
   eco_widget->verticalHeader()->setVisible(false);
   eco_widget->setSelectionMode(QAbstractItemView::SingleSelection);
+  header = eco_widget->horizontalHeader();
+  header->setSectionResizeMode(1, QHeaderView::Stretch);
+  header->setStretchLastSection(true);
   disband_button->setText(_("_Disband"));
   disband_button->setEnabled(false);
   sell_button->setText(_("Sell _All"));
@@ -825,7 +829,6 @@
     eco_widget->insertRow(i);
     for (j = 0; j < 6; j++) {
       item = new QTableWidgetItem;
-      item->setTextAlignment(Qt::AlignHCenter);
       switch (j) {
       case 0:
         item->setData(Qt::DecorationRole, pix_scaled);
@@ -848,6 +851,7 @@
         item->setText(QString::number(pentry->total_cost));
         break;
       }
+      item->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
       eco_widget->setItem(i, j, item);
     }
   }
@@ -886,6 +890,7 @@
         item->setText(QString::number(pentry->total_cost));
         break;
       }
+      item->setTextAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
       eco_widget->setItem(max_row + i, j, item);
     }
   }


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to