DELTA 26295 0 1908
SVN  O"d N  G  J@P 2LL < =
*****
  QPushButton receiving right click event
*/
class right_click_button : public QPushButton
{
  Q_OBJECT
public:
  explicit right_click_button(QWidget *parent = 0);
signals:
  void right_clicked();
protected:
  void mousePressEvent(QMouseEvent *e);
};right_click_button *chat_button;
  QPushButton *hide_button;
  right_click_b  void on_right_clickedENDREP
DELTA 18893 10662 886
SVN  _;( G  HK G O G = G  G  G  G x G ~ G  G  G T G > G  G | G G G ) G . G  G 4 G  G | G V G  G F G 6 %% O6fc_config.h>
#endif

// Qt
#include <QApplication>
#include <QHeaderView>
#include <QStyleFactory>

// gui-qt
#include "fc_client.h"
#include "messagewin.h"
#include "qtg_cxxside.h"
#include "sprite.h"

*****
  Constructor for right_click_button
***************************************************************************/
right_click_button::right_click_button(QWidget *parent) :
    QPushButton(parent)
{
}

*****
  Mouse event for right_clik_button
***************************************************************************/
void right_click_button::mousePressEvent(QMouseEvent *e)
{
  if (e->button() == Qt::RightButton) {
    emit right_clicked();
  } else if (e->button() == Qt::LeftButton) {
    emit clicked();
  }
}

*****
  info_tab constructor
***************************************************************************/
info_tab::info_tab(QWidget *parent)
{
  setParent(parent);
  setStyleSheet("QPushButton {background-color: transparent;}"
    "QPushButton {color: #038713;}"
    "QPushButton:enabled {color: #038713;}"
    "QPushButton:hover {background-color: blue;}"
    "QPushButton {min-width: 80px;}"
    "QPushButton {border: noborder;}");

  layout = new QGridLayout;
  msg_button = new right_click_button;
  msg_button->setText(_("Messages"));
  chat_button = new right_click_button;
  chat_button->setText(_("Chat"));
  hide_button = new QPushButton(
                    style()->standardIcon(QStyle::SP_TitleBarMinButton), "");

  layout->addWidget(hide_button, 1, 0, 1, 1);
  layout->addWidget(msg_button, 1, 1, 1, 4);
  layout->addWidget(chat_button, 1, 5, 1, 5);
  msgwdg = new messagewdg(this);
  layout->addWidget(msgwdg, 0, 0, 1, 5);
  layout->setRowStretch(0, 10);
  chtwdg = new chatwdg(this);
  layout->addWidget(chtwdg, 0, 5, 1, 5);
  layout->setColumnStretch(6, 3);
  layout->setColumnStretch(4, 3);
  layout->setHorizontalSpacing(0);
  layout->setVerticalSpacing(0);
  layout->setContentsMargins(0, 0, 0, 0);
  setLayout(layout);
  hidden_chat = false;
  hidden_mess = false;
  hidden_state = false;
  layout_changed = false;
  resize_mode = false;
  connect(hide_button, SIGNAL(clicked()), SLOT(hide_me()));
  connect(msg_button, SIGNAL(clicked()), SLOT(activate_msg()));
  connect(chat_button, SIGNAL(clicked()), SLOT(activate_chat()));
  connect(msg_button, SIGNAL(right_clicked()), SLOT(on_right_clicked()));
  connect(chat_button, SIGNAL(right_clicked()), SLOT(on_right_clicked()));
  resx = false;
  resy = false;
  chat_stretch = 5;
  msg_stretch = 5;
  setMouseTracking(true);
}

*****
  Slot for receinving right clicks, hides messages or chat
***************************************************************************/
void info_tab::on_right_clicked()
{
  right_click_button *rcb;
  rcb = qobject_cast<right_click_button *>(sender());
  if (rcb == chat_button && !hidden_mess) {
    hide_chat(true);
  } else if (rcb == chat_button && hidden_mess) {
    hide_me();
  }
  if (rcb == msg_button && !hidden_chat) {
    hide_messages(true);
  } else if (rcb == msg_button && hidden_chat) {
    hide_me();
  }
}

*****
  Paints semi-transparent background
***************************************************************************/
void info_tab::paint(QPainter *painter, QPaintEvent *event)
{
  painter->setBrush(QColor(0, 0, 0, 175));
  painter->drawRect(0, 0, width(), height());
}

*****
  Paint event for info_tab
***************************************************************************/
void info_tab::paintEvent(QPaintEvent *event)
{
  QPainter painter;

  painter.begin(this);
  paint(&painter, event);
  painter.end();
}

*****
  Checks if info_tab can be moved
***************************************************************************/
void info_tab::mousePressEvent(QMouseEvent * event)
{
  if (event->button() == Qt::LeftButton) {
    cursor = event->globalPos() - geometry().topLeft();
    if (event->y() > 0 && event->y() < 5){
      resize_mode = true;
      resy = true;
    } else if (event->x() > width() - 5 && event->x() < width()){
      resize_mode = true;
      resx = true;
    }
  }
  event->setAccepted(true);
}

*****
  Restores cursor when resizing is done
***************************************************************************/
void info_tab::mouseReleaseEvent(QMouseEvent* event)
{
  if (resize_mode) {
    resize_mode = false;
    resx = false;
    resy = false;
    setCursor(Qt::ArrowCursor);
    gui()->qt_settings.infotab_width = width() * 100 / (mapview.width
                                       -  gui()->end_turn_rect->width());
    gui()->qt_settings.infotab_height = height() * 100 / mapview.height;
  }
}

****
  Called when mouse moved (mouse track is enabled).
  Used to resizing info_tab.
**************************************************************************/
void info_tab::mouseMoveEvent(QMouseEvent *event)
{
  if ((event->buttons() & Qt::LeftButton) && resize_mode && resy) {
    resize(width(), gui()->mapview_wdg->height()
           - event->globalPos().y() + cursor.y());
    move(0, event->globalPos().y() - cursor.y());
    setCursor(Qt::SizeVerCursor);
  } else if ((event->buttons() & Qt::LeftButton) && resize_mode && resx) {
    resize(event->x(), height());
    move(0, gui()->mapview_wdg->height() - height());
    setCursor(Qt::SizeHorCursor);
  } else if (event->x() > width() - 5 && event->x() < width()) {
    setCursor(Qt::SizeHorCursor);
  } else if (event->y() > 0 && event->y() < 5) {
    setCursor(Qt::SizeVerCursor);
  } else {
    setCursor(Qt::ArrowCursor);
  }
  event->setAccepted(true);
}

*****
  Moves hide and chat button to another cell, or restores it
***************************************************************************/
void info_tab::change_layout()
{
  if (layout_changed) {
    layout->addWidget(hide_button, 1, 0, 1, 1);
    layout->addWidget(chat_button, 1, 5, 1, 5);
    layout_changed =  false;
  } else {
    layout->addWidget(hide_button, 1, 5, 1, 1);
    layout->addWidget(chat_button, 1, 6, 1, 4);
    layout_changed =  true;
  }
}

*****
  Chat button was pressed
  Changes stretch value for chat (increases chat's width)
***************************************************************************/
void info_tab::activate_chat()
{
  int i;

  if (hidden_state) {
    hidden_mess = true;
    hidden_chat = false;
    hide_me();
    return;
  }
  if (hidden_mess) {
    return;
  }
  i = layout->columnStretch(6);
  i++;
  i = qMin(i, 5);
  layout->setColumnStretch(6, i);
  chat_stretch = i;
  i = layout->columnStretch(4);
  i--;
  i = qMax(i, 1);
  layout->setColumnStretch(4, i);
  msg_stretch = i;

}

*****
  Hides or restores chat widget
***************************************************************************/
void info_tab::hide_chat(bool hyde)
{
  if (hyde == true) {
    chtwdg->hide();
    chat_button->hide();
    gui()->menu_bar->chat_status->setChecked(false);
    layout->setColumnStretch(4, 999);
    hidden_chat = true;
  } else {
    chtwdg->show();
    chat_button->show();
    gui()->menu_bar->chat_status->setChecked(true);
    layout->setColumnStretch(4, 3);
    hidden_chat = false;
  }
}

*****
  Hides or restores messages widget
***************************************************************************/
void info_tab::hide_messages(bool hyde)
{
  if (hyde == true) {
    msgwdg->hide();
    msg_button->hide();
    if (!layout_changed) {
      change_layout();
    }
    gui()->menu_bar->messages_status->setChecked(false);
    layout->setColumnStretch(6, 999);
    hidden_mess = true;
  } else {
    msgwdg->show();
    msg_button->show();
    if (layout_changed) {
      change_layout();
    }
    gui()->menu_bar->messages_status->setChecked(true);
    layout->setColumnStretch(6, 3);
    hidden_mess = false;
  }
}

*****
  Messages button was pressed.
  Changes stretch value for messages (increases messages width)
***************************************************************************/
void info_tab::activate_msg()
{
  int i;

  if (hidden_state) {
    hidden_chat = true;
    hidden_mess = false;
    hide_me();
    return;
  }
  if (hidden_chat) {
    return;
  }
  i = layout->columnStretch(4);
  i++;
  i = qMin(i, 5);
  msg_stretch = i;
  layout->setColumnStretch(4, i);
  i = layout->columnStretch(6);
  i--;
  i = qMax(i, 1);
  layout->setColumnStretch(6, i);
  chat_stretch = i;
}

*****
  Inherited from abstract parent, does nothing here
***************************************************************************/
void info_tab::update_menu()
{
}

*****
  Hides both chat and messages window
***************************************************************************/
void info_tab::hide_me()
{
  whats_hidden = 0;
  if (hidden_mess && !hidden_chat) {
    whats_hidden = 1;
  }
  if (hidden_chat && !hidden_mess) {
    whats_hidden = 2;
  }
  if (!hidden_state) {
    hide_messages(true);
    hide_chat(true);
    last_size.setWidth(width());
    last_size.setHeight(height());
    resize(width(), hide_button->fontMetrics().height());
    move(0 , gui()->mapview_wdg->size().height()
         - hide_button->fontMetrics().height());
    hide_button->setIcon(style()->standardIcon(QStyle::SP_TitleBarMaxButton));
    hidden_state = true;
    if (layout_changed) {
      change_layout();
    }
  } else {
    resize(last_size);
    move(0 , gui()->mapview_wdg->size().height() - last_size.height());
    hide_button->setIcon(style()->standardIcon(QStyle::SP_TitleBarMinButton));
    hidden_state = false;
    if (layout_changed) {
      change_layout();
    }
    switch (whats_hidden) {
    case 0:
      hide_messages(false);
      hide_chat(false);
      layout->setColumnStretch(4, msg_stretch);
      layout->setColumnStretch(6, chat_stretch);
      break;
    case 1:
      hide_messages(true);
      hide_chat(false);
      break;
    case 2:
      hide_messages(false);
      hide_chat(true);
      break;
    }
  }
  if (hidden_state) {
    chat_button->show();
    msg_button->show();
  }
}

*****
  Messagewdg constructor
***************************************************************************/
messagewdg::messagewdg(QWidget *parent): QWidget(parent)
{
  QPalette palette;
  layout = new QGridLayout;
  setStyle(QStyleFactory::create("fusion"));
  setStyleSheet("QScrollBar:vertical "
                "{border: 1px solid #90A4FF; background: transparent;}"
                "QScrollBar::sub-line:vertical {width: 0px;height: 0px}"
                "QScrollBar::sub-page:vertical {width: 0px;height: 0px}"
                "QScrollBar::add-line:vertical {width: 0px;height: 0px}"
                "QScrollBar::add-page:vertical {width: 0px;height: 0px}"
                "QScrollBar::handle:vertical {background: #90A4FF;"
                "min-height: 20px}"
                "QTableWidget {background-color: transparent;}"
                "QTableWidget::item:hover {background: #107511;}"
                "QTableCornerButton::section "
                "{background-color: transparent;}");
  mesg_table = new QTableWidget;
  mesg_table->setColumnCount(1);
  mesg_table->setEditTriggers(QAbstractItemView::NoEditTriggers);
  mesg_table->verticalHeader()->setVisible(false);
  mesg_table->setSelectionMode(QAbstractItemView::SingleSelection);
  mesg_table->horizontalHeader()->setStretchLastSection(true);
  mesg_table->horizontalHeader()->setVisible(false);
  mesg_table->setShowGrid(false);
  layout->addWidget(mesg_table, 0, 2, 1, 1);
  setLayout(layout);

  /* dont highlight show current cell - set the same colors*/
  palette.setColor(QPalette::Highlight, QColor(0, 0, 0, 0));
  palette.setColor(QPalette::HighlightedText, QColor(205, 206, 173));
  palette.setColor(QPalette::Text, QColor(205, 206, 173));

  mesg_table->setPalette(palette);
  connect(mesg_table->selectionModel(),
          SIGNAL(selectionChanged(const QItemSelection &,
                                  const QItemSelection &)),
          SLOT(item_selected(const QItemSelection &,
                             const QItemSelection &)));
  setMouseTracking(true);
}

*****
  Slot executed when selection on meg_table has changed
***************************************************************************/
void messagewdg::item_selected(const QItemSelection &sl,
                               const QItemSelection &ds)
{
  const struct message *pmsg;
  int i;
  QFont f;
  QModelIndex index;
  QModelIndexList indexes = sl.indexes();
  QTableWidgetItem *item;

  if (indexes.isEmpty()) {
    return;
  }
  index = indexes.at(0);
  i = index.row();
  pmsg = meswin_get_message(i);
  if (i > -1 && pmsg != NULL) {
    if (QApplication::mouseButtons() == Qt::LeftButton
        || QApplication::mouseButtons() == Qt::RightButton) {
      meswin_set_visited_state(i, true);
      item = mesg_table->item(i, 0);
      f = item->font();
      f.setItalic(true);
      item->setFont(f);
    }
    if (QApplication::mouseButtons() == Qt::LeftButton && pmsg->location_ok) {
      meswin_goto(i);
    }
    if (QApplication::mouseButtons() == Qt::RightButton && pmsg->city_ok) {
      meswin_popup_city(i);
    }
  }
  mesg_table->clearSelection();
}

*****
  Paints semi-transparent background
***************************************************************************/
void messagewdg::paint(QPainter *painter, QPaintEvent *event)
{
  painter->setBrush(QColor(0, 0, 0, 35));
  painter->drawRect(0, 0, width(), height());
}

*****
  Paint event for messagewdg
***************************************************************************/
void messagewdg::paintEvent(QPaintEvent *event)
{
  QPainter painter;

  painter.begin(this);
  paint(&painter, event);
  painter.end();
}

*****
  Clears and removes mesg_table all items
***************************************************************************/
void messagewdg::clr()
{
  mesg_table->clearContents();
  mesg_table->setRowCount(0);
}

*****
  Adds news message to mesg_table
***************************************************************************/
void messagewdg::msg(const struct message *pmsg)
{
  int i;
  QFont f;
  QTableWidgetItem *item;

  item = new QTableWidgetItem;
  item->setText(pmsg->descr);
  i = mesg_table->rowCount();
  mesg_table->insertRow(i);
  if (pmsg->visited) {
    f = item->font();
    f.setItalic(true);
    item->setFont(f);
  }
  mesg_table->setItem(i, 0, item);
  msg_update();
  mesg_table->scrollToBottom();
}

*****
  Updates mesg_table painting
***************************************************************************/
void messagewdg::msg_update()
{
  mesg_table->resizeRowsToContents();
  update();
}

*****
  Resize event for messagewdg
***************************************************************************/
void messagewdg::resizeEvent(QResizeEvent* event)
{
  msg_update();
}trueint  i, num;
  const struct message *pmsg;

  if (gui()->infotab == NULL) {
    return;
  }
  gui()->infotab->msgwdg->clr();
  num = meswin_get_num_messages();
  for (i = 0; i < num; i++) {
    pmsg = meswin_get_message(i);
    gui()->infotab->msgwdg->msg(pmsg);
  }
  gui()->infotab->msgwdg->msg_update();

}
ENDREP
id: 6je.5kv.r30994/15637
type: file
pred: 6je.5kv.r30839/1264
count: 16
text: 30994 428 15180 18235 b51a38b38bc8fd38b15635911649e951
props: 26906 87574 34 0 25e6c2f7558b7484000d4d090dea5b92
cpath: /branches/S2_5/client/gui-qt/messagewin.cpp
copyroot: 22812 /branches/S2_5

id: 6jf.5kv.r30994/15910
type: file
pred: 6jf.5kv.r26906/94859
count: 4
text: 30994 0 402 3212 bd571f88ea565be2916bda19871379f1
props: 26906 94812 34 0 25e6c2f7558b7484000d4d090dea5b92
cpath: /branches/S2_5/client/gui-qt/messagewin.h
copyroot: 22812 /branches/S2_5

PLAIN
K 11
Makefile.am
V 25
file 6if.5kv.r27238/27432
K 10
canvas.cpp
V 22
file 6ig.5kv.r30433/85
K 8
canvas.h
V 25
file 6ih.5kv.r26906/90764
K 12
chatline.cpp
V 23
file 6ii.5kv.r30985/559
K 10
chatline.h
V 23
file 6ij.5kv.r30985/824
K 11
citydlg.cpp
V 24
file 6ik.5kv.r30991/5134
K 9
citydlg.h
V 24
file gr2.5kv.r30991/5401
K 11
cityrep.cpp
V 23
file 6il.5kv.r30720/110
K 9
cityrep.h
V 25
file 6im.5kv.r27709/10660
K 10
colors.cpp
V 26
file 6in.5kv.r26906/103676
K 8
colors.h
V 25
file 6io.5kv.r26906/99568
K 14
connectdlg.cpp
V 24
file 6ip.5kv.r30745/1817
K 12
connectdlg.h
V 25
file 6iq.5kv.r26906/86674
K 11
dialogs.cpp
V 23
file 6ir.5kv.r30988/353
K 9
dialogs.h
V 25
file 6is.5kv.r26906/98312
K 12
diplodlg.cpp
V 23
file 6it.5kv.r29262/687
K 10
diplodlg.h
V 23
file 6iu.5kv.r29262/954
K 13
fc_client.cpp
V 23
file 6lc.5kv.r30988/617
K 11
fc_client.h
V 23
file 6ld.5kv.r30988/883
K 11
finddlg.cpp
V 26
file 6iv.5kv.r26906/104633
K 9
finddlg.h
V 26
file 6iw.5kv.r26906/101143
K 11
gotodlg.cpp
V 25
file 6ix.5kv.r26906/92648
K 9
gotodlg.h
V 25
file 6iy.5kv.r26906/87936
K 12
graphics.cpp
V 25
file 6iz.5kv.r26906/93600
K 10
graphics.h
V 25
file 6j0.5kv.r26906/99254
K 12
gui_main.cpp
V 24
file 6j1.5kv.r30985/1352
K 10
gui_main.h
V 25
file oxy.5kv.r26906/92026
K 11
helpdlg.cpp
V 25
file 6j2.5kv.r30982/30390
K 9
helpdlg.h
V 24
file 6j3.5kv.r27862/9368
K 12
inteldlg.cpp
V 25
file 6j4.5kv.r26906/94230
K 10
inteldlg.h
V 26
file 6j5.5kv.r26906/100509
K 14
luaconsole.cpp
V 25
file 76c.5kv.r26906/88564
K 12
luaconsole.h
V 25
file 76d.5kv.r26906/95480
K 11
mapctrl.cpp
V 24
file 6j6.5kv.r30626/2299
K 9
mapctrl.h
V 26
file 6j7.5kv.r26906/100194
K 11
mapview.cpp
V 23
file 6j8.5kv.r30978/371
K 9
mapview.h
V 24
file 6j9.5kv.r30462/6555
K 8
menu.cpp
V 23
file 6ja.5kv.r30895/425
K 6
menu.h
V 23
file 6jb.5kv.r30895/686
K 14
messagedlg.cpp
V 25
file 6jc.5kv.r26906/89827
K 12
messagedlg.h
V 25
file 6jd.5kv.r26906/86359
K 14
messagewin.cpp
V 25
file 6je.5kv.r30994/15637
K 12
messagewin.h
V 25
file 6jf.5kv.r30994/15910
K 13
optiondlg.cpp
V 24
file 6jg.5kv.r30991/5667
K 11
optiondlg.h
V 24
file 6jh.5kv.r30991/5937
K 9
pages.cpp
V 24
file 6ji.5kv.r30836/1683
K 7
pages.h
V 25
file 6jj.5kv.r26906/94548
K 10
plrdlg.cpp
V 23
file 6jk.5kv.r30981/189
K 8
plrdlg.h
V 23
file 6jl.5kv.r30717/788
K 15
qtg_cxxside.cpp
V 25
file 6jo.5kv.r26906/91390
K 13
qtg_cxxside.h
V 25
file 6jp.5kv.r26906/97994
K 12
ratesdlg.cpp
V 26
file 6jq.5kv.r26906/103995
K 10
ratesdlg.h
V 26
file 6jr.5kv.r26906/100825
K 12
repodlgs.cpp
V 24
file 6js.5kv.r30991/6202
K 10
repodlgs.h
V 24
file 6jt.5kv.r30890/8268
K 16
spaceshipdlg.cpp
V 24
file 6ju.5kv.r27442/9892
K 14
spaceshipdlg.h
V 25
file 6jv.5kv.r27442/10698
K 10
sprite.cpp
V 26
file 6jw.5kv.r26906/104315
K 8
sprite.h
V 25
file 6jx.5kv.r26906/90142
K 10
themes.cpp
V 25
file 6jy.5kv.r26906/97370
K 16
voteinfo_bar.cpp
V 26
file 6jz.5kv.r26906/101458
K 14
voteinfo_bar.h
V 25
file 6k0.5kv.r27392/14185
K 9
wldlg.cpp
V 25
file 6k1.5kv.r26906/89512
K 7
wldlg.h
V 25
file 6k2.5kv.r26906/85733
END
ENDREP
id: 6ie.5kv.r30994/19203
type: dir
pred: 6ie.5kv.r30991/9497
count: 273
text: 30994 16176 3014 0 aa22defc66978fd8666ca66ebd429f17
props: 28038 4603 380 0 e35272c2f76a630dd3f417e198cbcde9
cpath: /branches/S2_5/client/gui-qt
copyroot: 22812 /branches/S2_5

PLAIN
K 11
Makefile.am
V 23
file 5f.5kv.r25962/1188
K 6
agents
V 21
dir zf.5kv.r29332/744
K 11
attribute.c
V 24
file xh.5kv.r27498/50327
K 11
attribute.h
V 24
file xi.5ck.r18863/23649
K 7
audio.c
V 24
file 139.5ck.r22180/7668
K 7
audio.h
V 24
file 13a.5ck.r22180/7911
K 12
audio_none.c
V 26
file 13d.5ck.r19259/462511
K 12
audio_none.h
V 25
file 13e.5ck.r18863/20841
K 11
audio_sdl.c
V 25
file 13f.5ck.r19354/73618
K 11
audio_sdl.h
V 25
file 13g.5ck.r18863/23885
K 17
chatline_common.c
V 24
file 14q.5kv.r24896/5437
K 17
chatline_common.h
V 24
file 14r.5kv.r24893/5197
K 16
citydlg_common.c
V 22
file z4.5kv.r29070/382
K 16
citydlg_common.h
V 24
file z5.5ck.r18863/18619
K 13
cityrepdata.c
V 22
file mb.5kv.r24130/185
K 13
cityrepdata.h
V 24
file mc.5ck.r18863/19121
K 13
client_main.c
V 23
file 2f.5m3.r30376/1995
K 13
client_main.h
V 24
file hz.5p3.r29283/28771
K 8
climap.c
V 24
file 197.5ck.r20232/3008
K 8
climap.h
V 25
file 198.5ck.r18863/24126
K 9
climisc.c
V 24
file d5.5kv.r26655/41648
K 9
climisc.h
V 24
file i0.5kv.r26655/41906
K 8
clinet.c
V 24
file hc.5kv.r30879/31792
K 8
clinet.h
V 24
file i1.5ck.r18863/24866
K 15
colors_common.c
V 24
file 33a.5kv.r22856/3020
K 15
colors_common.h
V 25
file 33b.5kv.r24137/11622
K 19
connectdlg_common.c
V 24
file 2fw.5kv.r30113/1635
K 19
connectdlg_common.h
V 25
file 2fx.5ck.r19154/53802
K 9
control.c
V 22
file gz.5kv.r29360/358
K 9
control.h
V 23
file i2.5kv.r26325/5744
K 7
dummy.c
V 26
file 4f9.5kv.r26906/128290
K 12
dummycxx.cpp
V 25
file 6kr.5kv.r26906/60002
K 8
editor.c
V 24
file 3bg.5kv.r30515/2923
K 8
editor.h
V 24
file 3bh.5kv.r26199/1251
K 11
ggzclient.c
V 26
file 394.5ck.r20126/104106
K 11
ggzclient.h
V 25
file 395.5ck.r18863/21083
K 17
global_worklist.c
V 26
file 4i6.5kv.r26906/111450
K 17
global_worklist.h
V 26
file 4i7.5kv.r26906/120138
K 6
goto.c
V 22
file vu.5kv.r26658/166
K 6
goto.h
V 24
file vv.5ck.r20865/49000
K 11
gui-gtk-2.0
V 22
dir zs.5kv.r30888/4493
K 11
gui-gtk-3.0
V 22
dir zs.5kx.r30888/9000
K 6
gui-qt
V 24
dir 6ie.5kv.r30994/19203
K 7
gui-sdl
V 23
dir 16t.5kv.r30941/6089
K 8
gui-stub
V 23
dir mh.5kv.r27287/14406
K 7
gui-xaw
V 23
dir 9o.5kv.r30376/25136
K 14
gui_cbsetter.c
V 25
file a3c.5kv.r26906/75933
K 14
gui_cbsetter.h
V 25
file a3d.5kv.r26906/85422
K 15
gui_interface.c
V 26
file 6jm.5ni.r26906/120454
K 15
gui_interface.h
V 26
file 6jn.5nj.r26906/120785
K 10
helpdata.c
V 24
file h1.5kv.r30515/12328
K 10
helpdata.h
V 24
file i3.5kv.r25496/41390
K 7
include
V 23
dir b8.5kv.r29851/11226
K 19
luaconsole_common.c
V 25
file 75z.5kv.r26906/75620
K 19
luaconsole_common.h
V 25
file 760.5kv.r26906/76240
K 9
luascript
V 25
dir 761.5kv.r26906/110514
K 16
mapctrl_common.c
V 22
file 15m.5kv.r30624/66
K 16
mapctrl_common.h
V 25
file 15n.5ck.r19893/12504
K 16
mapview_common.c
V 24
file z2.5kv.r30370/14040
K 16
mapview_common.h
V 24
file z3.5ck.r20392/39510
K 19
messagewin_common.c
V 25
file 14s.5ck.r19354/71979
K 19
messagewin_common.h
V 25
file 14t.5ck.r18863/21579
K 9
options.c
V 23
file dc.5kv.r30869/4049
K 9
options.h
V 24
file i4.5kv.r30376/25649
K 17
overview_common.c
V 23
file 2yk.5kv.r29835/603
K 17
overview_common.h
V 23
file 2yl.5kv.r29835/868
K 10
packhand.c
V 21
file n.5kv.r30977/759
K 10
packhand.h
V 24
file i5.5ck.r18863/20596
K 15
plrdlg_common.c
V 24
file 14u.5kv.r28835/1378
K 15
plrdlg_common.h
V 25
file 14v.5ck.r18863/21328
K 17
repodlgs_common.c
V 25
file 11i.5ck.r22325/76263
K 17
repodlgs_common.h
V 25
file 11j.5ck.r19589/11861
K 9
reqtree.c
V 24
file 2ym.5kv.r28244/5947
K 9
reqtree.h
V 24
file 2yn.5ck.r19057/3837
K 9
servers.c
V 25
file 33x.5kv.r30879/37561
K 9
servers.h
V 25
file 33y.5ck.r20478/36372
K 6
text.c
V 24
file 2g3.5kv.r29376/4874
K 6
text.h
V 25
file 2g4.5ck.r22264/31375
K 15
themes_common.c
V 22
file 352.5kv.r26466/95
K 15
themes_common.h
V 25
file 353.5ck.r18863/22710
K 10
tilespec.c
V 22
file hl.5kv.r30643/307
K 10
tilespec.h
V 24
file i6.5kv.r30370/14567
K 19
unitselect_common.c
V 26
file 76v.5kv.r26906/110817
K 19
unitselect_common.h
V 26
file 76w.5kv.r26906/111132
K 14
update_queue.c
V 25
file 4jw.5kv.r26906/74380
K 14
update_queue.h
V 25
file 4jx.5kv.r26906/75002
K 10
voteinfo.c
V 25
file 4fe.5kv.r26906/74693
K 10
voteinfo.h
V 25
file 4ff.5kv.r26906/75313
END
ENDREP
id: d.5kv.r30994/23684
type: dir
pred: d.5kv.r30991/13975
count: 6234
text: 30994 19458 4213 0 c1fdaeb542c1facc1be506a832c7feb2
props: 23991 877 341 0 4a292777c297b001f37cdd3988879aee
cpath: /branches/S2_5/client
copyroot: 22812 /branches/S2_5

PLAIN
K 9
ABOUT-NLS
V 24
file fu.5kv.r23463/86338
K 7
AUTHORS
V 24
file 5u.5ck.r22143/14016
K 7
COPYING
V 22
file 1h.5kv.r29456/845
K 9
ChangeLog
V 26
file 6l.5kv.r29515/3873833
K 7
INSTALL
V 21
file 6.5kv.r29707/213
K 11
Makefile.am
V 23
file 59.5kv.r29106/3136
K 4
NEWS
V 22
file 6m.5kv.r28524/894
K 8
NEWS-2.5
V 23
file 1h59.5kv.r29575/53
K 6
README
V 20
file 7.0.r4421/96382
K 2
ai
V 21
dir 8.5kv.r30973/1269
K 10
autogen.sh
V 23
file 12o.5kv.r30656/415
K 9
bootstrap
V 23
dir 2p5.5kv.r28599/3351
K 6
client
V 22
dir d.5kv.r30994/23684
K 6
common
V 22
dir p.5kv.r30879/47383
K 12
configure.ac
V 23
file 149.5kv.r30951/347
K 4
data
V 21
dir w.5kv.r30910/8519
K 6
debian
V 22
dir 5w.5kv.r23304/4091
K 12
dependencies
V 23
dir 2yu.5kv.r30885/2554
K 11
diff_ignore
V 24
file qq.5ck.r21039/26581
K 3
doc
V 22
dir k7.5kv.r30742/2302
K 10
fc_version
V 25
file 2lo.5kw.r30653/26619
K 2
m4
V 23
dir 12p.5kv.r30725/2639
K 7
scripts
V 23
dir 2yo.5kv.r28718/5390
K 6
server
V 21
dir z.5kv.r30954/4063
K 5
tests
V 22
dir 2g9.5kv.r27024/930
K 5
tools
V 23
dir 4pj.5lo.r29030/2274
K 12
translations
V 25
dir t0n.5kv.r30968/253839
K 7
utility
V 23
dir 1c.5kv.r30879/56090
K 3
vms
V 25
dir u9.5ck.r21528/1396085
K 5
win32
V 23
dir 2eu.5kv.r30467/1744
END
ENDREP
id: 3.5kv.r30994/25178
type: dir
pred: 3.5kv.r30991/15467
count: 18258
text: 30994 23929 1236 0 abcdc842e0f5b5f574f59c8f35c4b228
props: 20140 3888 282 0 e4bb46e81629a60eef613b169b23a9ea
cpath: /branches/S2_5
copyroot: 22812 /branches/S2_5

PLAIN
K 5
S1_14
V 21
dir 3.21.r18109/18803
K 4
S2_0
V 21
dir 3.10x.r21862/4178
K 4
S2_1
V 22
dir 3.59e.r20026/11014
K 4
S2_2
V 21
dir 3.5cy.r21861/5036
K 4
S2_3
V 21
dir 3.5f2.r29458/5135
K 4
S2_4
V 22
dir 3.5ii.r30401/87429
K 4
S2_5
V 22
dir 3.5kv.r30994/25178
K 4
S2_6
V 22
dir 3.5qi.r30992/15340
K 11
freeciv-web
V 22
dir 3.5bl.r13594/14918
END
ENDREP
id: 1.0.r30994/25773
type: dir
pred: 1.0.r30992/15936
count: 10347
text: 30994 25418 342 0 10a6c845857f1cc1cb28be43aa9fb2d0
cpath: /branches
copyroot: 0 /

PLAIN
K 8
branches
V 20
dir 1.0.r30994/25773
K 4
tags
V 19
dir 2.0.r29519/6475
K 5
trunk
V 22
dir 3.5ck.r30993/15112
K 7
website
V 20
dir 3ge.0.r30613/922
END
ENDREP
id: 0.0.r30994/26095
type: dir
pred: 0.0.r30993/15502
count: 30994
text: 30994 25929 153 0 def29c68003c2d4ef601cba88b192b99
cpath: /
copyroot: 0 /

6je.5kv.t30993-1 modify true false /branches/S2_5/client/gui-qt/messagewin.cpp

6jf.5kv.t30993-1 modify true false /branches/S2_5/client/gui-qt/messagewin.h


26095 26243
