Changeset 6480

Show
Ignore:
Timestamp:
08/08/08 03:41:02 (4 months ago)
Author:
flynd
Message:

Renamed misc modes page to 'Settings'. Moved status settings to separated page. Added custom auto response editing to status page.

Location:
trunk/qt4-gui/src/userdlg
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/qt4-gui/src/userdlg/modes.cpp

    r6478 r6480  
    2626#include <QGridLayout> 
    2727#include <QGroupBox> 
     28#include <QHBoxLayout> 
    2829#include <QHeaderView> 
    2930#include <QRadioButton> 
     
    3536#include <licq_user.h> 
    3637 
     38#include "dialogs/awaymsgdlg.h" 
     39#include "widgets/mledit.h" 
     40 
    3741#include "userdlg.h" 
    3842 
     
    4953    return; 
    5054 
    51   parent->addPage(UserDlg::ModesPage, createPageModes(parent), 
    52       tr("Misc Modes")); 
     55  parent->addPage(UserDlg::SettingsPage, createPageModes(parent), 
     56      tr("Settings")); 
     57  parent->addPage(UserDlg::StatusPage, createPageStatus(parent), 
     58      tr("Status"), UserDlg::SettingsPage); 
    5359  parent->addPage(UserDlg::GroupsPage, createPageGroups(parent), 
    5460      tr("Groups")); 
     
    102108  myMiscModesLayout->addWidget(myUseRealIpCheck, 4, 0); 
    103109 
     110  myPageModesLayout->addWidget(myMiscModesBox, 0, 0, 1, 2); 
     111  myPageModesLayout->setRowStretch(1, 1); 
     112 
     113  return w; 
     114} 
     115 
     116QWidget* UserPages::Modes::createPageStatus(QWidget* parent) 
     117{ 
     118  QWidget* w = new QWidget(parent); 
     119  myPageStatusLayout = new QGridLayout(w); 
     120  myPageStatusLayout->setContentsMargins(0, 0, 0, 0); 
    104121 
    105122  myStatusBox = new QGroupBox(tr("Status to User")); 
     
    158175  mySysGroupLayout->addStretch(1); 
    159176 
    160  
    161   myPageModesLayout->addWidget(myMiscModesBox, 0, 0, 1, 2); 
    162   myPageModesLayout->addWidget(myStatusBox, 1, 0); 
    163   myPageModesLayout->addWidget(mySysGroupBox, 1, 1); 
    164   myPageModesLayout->setRowStretch(2, 1); 
     177  myAutoRespBox = new QGroupBox(tr("Custom Auto Response")); 
     178  myAutoRespLayout = new QHBoxLayout(myAutoRespBox); 
     179 
     180  myAutoRespEdit = new MLEdit(true); 
     181  myAutoRespEdit->setSizeHintLines(5); 
     182  myAutoRespLayout->addWidget(myAutoRespEdit); 
     183 
     184  QVBoxLayout* autoRespButtons = new QVBoxLayout(); 
     185 
     186  myAutoRespHintsButton = new QPushButton(tr("Hints")); 
     187  connect(myAutoRespHintsButton, SIGNAL(clicked()), SLOT(showAutoRespHints())); 
     188  autoRespButtons->addWidget(myAutoRespHintsButton); 
     189 
     190  myAutoRespClearButton = new QPushButton(tr("Clear")); 
     191  connect(myAutoRespClearButton, SIGNAL(clicked()), myAutoRespEdit, SLOT(clear())); 
     192  autoRespButtons->addWidget(myAutoRespClearButton); 
     193 
     194  autoRespButtons->addStretch(1); 
     195  myAutoRespLayout->addLayout(autoRespButtons); 
     196 
     197 
     198  myPageStatusLayout->addWidget(myStatusBox, 0, 0); 
     199  myPageStatusLayout->addWidget(mySysGroupBox, 0, 1); 
     200  myPageStatusLayout->addWidget(myAutoRespBox, 1, 0, 1, 2); 
     201  myPageStatusLayout->setRowStretch(2, 1); 
    165202 
    166203  return w; 
     
    318355    statusToUser = ICQ_STATUS_DND; 
    319356  user->SetStatusToUser(statusToUser); 
     357 
     358  // Set auto response (empty string will disable custom auto response) 
     359  user->SetCustomAutoResponse(myAutoRespEdit->toPlainText().trimmed().toLocal8Bit()); 
    320360} 
    321361 
     
    379419} 
    380420 
     421void UserPages::Modes::showAutoRespHints() 
     422{ 
     423  AwayMsgDlg::showAutoResponseHints(dynamic_cast<UserDlg*>(parent())); 
     424} 
  • trunk/qt4-gui/src/userdlg/modes.h

    r6477 r6480  
    3131class QGridLayout; 
    3232class QGroupBox; 
     33class QHBoxLayout; 
     34class QPushButton; 
    3335class QRadioButton; 
    3436class QTableWidget; 
     
    4244namespace LicqQtGui 
    4345{ 
     46class MLEdit; 
    4447class UserDlg; 
    4548 
     
    7477  void userUpdated(const CICQSignal* sig, const ICQUser* user); 
    7578 
     79private slots: 
     80  /** 
     81   * Show hints for auto response editing 
     82   */ 
     83  void showAutoRespHints(); 
     84 
    7685private: 
    7786  /** 
     
    8190   */ 
    8291  QWidget* createPageModes(QWidget* parent); 
     92 
     93  /** 
     94   * Setup the status page. 
     95   * 
     96   * @return a widget with the status settings 
     97   */ 
     98  QWidget* createPageStatus(QWidget* parent); 
    8399 
    84100  /** 
     
    104120  QCheckBox* myUseGpgCheck; 
    105121  QCheckBox* myUseRealIpCheck; 
     122 
     123  // Status page 
     124  QGridLayout* myPageStatusLayout; 
    106125  QGroupBox* myStatusBox; 
    107126  QVBoxLayout* myStatusLayout; 
     
    115134  QVBoxLayout* mySysGroupLayout; 
    116135  QCheckBox* mySystemGroupCheck[NUM_GROUPS_SYSTEM_ALL]; 
     136  QGroupBox* myAutoRespBox; 
     137  QHBoxLayout* myAutoRespLayout; 
     138  MLEdit* myAutoRespEdit; 
     139  QPushButton* myAutoRespClearButton; 
     140  QPushButton* myAutoRespHintsButton; 
    117141 
    118142  // Widgets for groups page 
  • trunk/qt4-gui/src/userdlg/userdlg.h

    r6475 r6480  
    6161    CountersPage, 
    6262    KabcPage, 
    63     ModesPage, 
     63    SettingsPage, 
     64    StatusPage, 
    6465    GroupsPage, 
    6566  };