From a1a2f81e9e131adc82330d0e20f02e00e3e12a25 Mon Sep 17 00:00:00 2001 From: Noldor Date: Sun, 13 Apr 2008 17:47:27 +0000 Subject: removed QT3 QString stuff (wip). Need test. git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1476 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/actioneditor/actioneditor.cpp | 1938 ++++++++++---------- src/modules/dcc/broker.cpp | 14 +- src/modules/dcc/canvas.cpp | 18 +- src/modules/dcc/canvaswidget.cpp | 2 +- src/modules/dcc/chat.cpp | 40 +- src/modules/dcc/requests.cpp | 2 +- src/modules/dcc/send.cpp | 48 +- src/modules/dcc/utils.cpp | 20 +- src/modules/dcc/voice.cpp | 16 +- src/modules/editor/scripteditor.cpp | 6 +- src/modules/eventeditor/eventeditor.cpp | 2 +- src/modules/file/libkvifile.cpp | 2 +- .../filetransferwindow/filetransferwindow.cpp | 8 +- src/modules/http/httpfiletransfer.cpp | 2 +- src/modules/ident/libkviident.cpp | 4 +- src/modules/links/linkswindow.cpp | 2 +- src/modules/list/listwindow.cpp | 4 +- src/modules/logview/logviewmdiwindow.cpp | 4 +- src/modules/mediaplayer/mp_amipinterface.cpp | 4 +- src/modules/mediaplayer/mp_dcopinterface.cpp | 2 +- src/modules/mediaplayer/mp_winampinterface.cpp | 2 +- src/modules/mediaplayer/mp_xmmsinterface.cpp | 2 +- src/modules/my/libkvimy.cpp | 2 +- src/modules/objects/class_combobox.cpp | 2 +- src/modules/objects/class_listbox.cpp | 2 +- src/modules/objects/class_socket.cpp | 8 +- src/modules/objects/class_widget.cpp | 2 +- src/modules/objects/class_wrapper.cpp | 4 +- src/modules/objects/class_xmlreader.cpp | 2 +- src/modules/options/optw_identity.cpp | 2 +- src/modules/options/optw_servers.cpp | 2 +- src/modules/perlcore/libkviperlcore.cpp | 6 +- src/modules/regchan/libkviregchan.cpp | 2 +- src/modules/reguser/libkvireguser.cpp | 2 +- src/modules/sharedfile/libkvisharedfile.cpp | 6 +- src/modules/snd/libkvisnd.cpp | 22 +- src/modules/str/libkvistr.cpp | 4 +- src/modules/system/libkvisystem.cpp | 8 +- src/modules/system/plugin.cpp | 6 +- src/modules/texticons/libkvitexticons.cpp | 2 +- src/modules/tip/libkvitip.cpp | 611 +++--- src/modules/toolbareditor/toolbareditor.cpp | 2 +- src/modules/url/libkviurl.cpp | 4 +- src/modules/window/libkviwindow.cpp | 32 +- 44 files changed, 1437 insertions(+), 1438 deletions(-) (limited to 'src/modules') diff --git a/src/modules/actioneditor/actioneditor.cpp b/src/modules/actioneditor/actioneditor.cpp index 42324d342..9b227c480 100644 --- a/src/modules/actioneditor/actioneditor.cpp +++ b/src/modules/actioneditor/actioneditor.cpp @@ -1,977 +1,977 @@ -//============================================================================= -// -// File : aliaseditor.cpp -// Creation date : Tue 29 Dec 2004 02:45:59 2002 GMT by Szymon Stefanek -// -// This file is part of the KVirc irc client distribution -// Copyright (C) 2004 Szymon Stefanek (pragma at kvirc dot net) -// -// This program is FREE software. You can redistribute it and/or -// modify it under the linkss of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your opinion) any later version. -// -// This program is distributed in the HOPE that it will be USEFUL, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, write to the Free Software Foundation, -// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -//============================================================================= -#include "actioneditor.h" - -#include "kvi_iconmanager.h" -#include "kvi_options.h" -#include "kvi_locale.h" -#include "kvi_imagedialog.h" -#include "kvi_config.h" -#include "kvi_filedialog.h" -#include "kvi_fileutils.h" -#include "kvi_scripteditor.h" -#include "kvi_debug.h" -#include "kvi_app.h" -#include "kvi_qstring.h" -#include "kvi_kvs_aliasmanager.h" -#include "kvi_filedialog.h" -#include "kvi_actionmanager.h" -#include "kvi_action.h" -#include "kvi_kvs_useraction.h" -#include "kvi_customtoolbarmanager.h" -#include "kvi_valuelist.h" -#include "kvi_tal_vbox.h" -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -extern KviActionEditorWindow * g_pActionEditorWindow; - -static QString g_szLastEditedAction; - -#define LVI_ICON_SIZE 32 -#define LVI_BORDER 4 -#define LVI_SPACING 8 -#define LVI_MINIMUM_TEXT_WIDTH 150 -#define LVI_MINIMUM_CELL_WIDTH (LVI_MINIMUM_TEXT_WIDTH + LVI_BORDER + LVI_ICON_SIZE + LVI_SPACING + LVI_BORDER) - -KviActionEditorListViewItem::KviActionEditorListViewItem(KviTalListView * v,KviActionData * a) -: KviTalListViewItem(v,"") -{ - m_pActionData = a; - m_pListView = v; - m_pIcon = 0; - setupForActionData(); -} - -KviActionEditorListViewItem::~KviActionEditorListViewItem() -{ - if(m_pIcon)delete m_pIcon; - delete m_pActionData; -} - -void KviActionEditorListViewItem::setupForActionData() -{ - QString t = "" + m_pActionData->m_szName + ""; - t += "
" + m_pActionData->m_szVisibleName + ""; - m_szKey = m_pActionData->m_szName.upper(); - m_pText = new QTextDocument(); - m_pText->setHtml(t); - m_pText->setDefaultFont(m_pListView->font()); - if(m_pIcon)delete m_pIcon; - QPixmap * p = g_pIconManager->getBigIcon(m_pActionData->m_szBigIcon); - if(p)m_pIcon = new QPixmap(*p); - else { - p = g_pIconManager->getImage("kvi_bigicon_unknown.png"); - if(p)m_pIcon = new QPixmap(*p); - else m_pIcon = new QPixmap(LVI_ICON_SIZE,LVI_ICON_SIZE); - } - setup(); -} - -QString KviActionEditorListViewItem::key(int,bool) const -{ - return m_szKey; -} - -void KviActionEditorListViewItem::setup() -{ - KviTalListViewItem::setup(); - int iWidth = m_pListView->visibleWidth(); - if(iWidth < LVI_MINIMUM_CELL_WIDTH)iWidth = LVI_MINIMUM_CELL_WIDTH; - iWidth -= LVI_BORDER + LVI_ICON_SIZE + LVI_SPACING + LVI_BORDER; - int iHeight = m_pText->pageSize().height() + (2 * LVI_BORDER); - if(iHeight < (LVI_ICON_SIZE + (2 * LVI_BORDER)))iHeight = LVI_ICON_SIZE + (2 * LVI_BORDER); - setHeight(iHeight); -} - -void KviActionEditorListViewItem::paintCell(QPainter * p,const QColorGroup & cg,int column,int width,int align) -{ +//============================================================================= +// +// File : aliaseditor.cpp +// Creation date : Tue 29 Dec 2004 02:45:59 2002 GMT by Szymon Stefanek +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 2004 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the linkss of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// +//============================================================================= +#include "actioneditor.h" + +#include "kvi_iconmanager.h" +#include "kvi_options.h" +#include "kvi_locale.h" +#include "kvi_imagedialog.h" +#include "kvi_config.h" +#include "kvi_filedialog.h" +#include "kvi_fileutils.h" +#include "kvi_scripteditor.h" +#include "kvi_debug.h" +#include "kvi_app.h" +#include "kvi_qstring.h" +#include "kvi_kvs_aliasmanager.h" +#include "kvi_filedialog.h" +#include "kvi_actionmanager.h" +#include "kvi_action.h" +#include "kvi_kvs_useraction.h" +#include "kvi_customtoolbarmanager.h" +#include "kvi_valuelist.h" +#include "kvi_tal_vbox.h" +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +extern KviActionEditorWindow * g_pActionEditorWindow; + +static QString g_szLastEditedAction; + +#define LVI_ICON_SIZE 32 +#define LVI_BORDER 4 +#define LVI_SPACING 8 +#define LVI_MINIMUM_TEXT_WIDTH 150 +#define LVI_MINIMUM_CELL_WIDTH (LVI_MINIMUM_TEXT_WIDTH + LVI_BORDER + LVI_ICON_SIZE + LVI_SPACING + LVI_BORDER) + +KviActionEditorListViewItem::KviActionEditorListViewItem(KviTalListView * v,KviActionData * a) +: KviTalListViewItem(v,"") +{ + m_pActionData = a; + m_pListView = v; + m_pIcon = 0; + setupForActionData(); +} + +KviActionEditorListViewItem::~KviActionEditorListViewItem() +{ + if(m_pIcon)delete m_pIcon; + delete m_pActionData; +} + +void KviActionEditorListViewItem::setupForActionData() +{ + QString t = "" + m_pActionData->m_szName + ""; + t += "
" + m_pActionData->m_szVisibleName + ""; + m_szKey = m_pActionData->m_szName.upper(); + m_pText = new QTextDocument(); + m_pText->setHtml(t); + m_pText->setDefaultFont(m_pListView->font()); + if(m_pIcon)delete m_pIcon; + QPixmap * p = g_pIconManager->getBigIcon(m_pActionData->m_szBigIcon); + if(p)m_pIcon = new QPixmap(*p); + else { + p = g_pIconManager->getImage("kvi_bigicon_unknown.png"); + if(p)m_pIcon = new QPixmap(*p); + else m_pIcon = new QPixmap(LVI_ICON_SIZE,LVI_ICON_SIZE); + } + setup(); +} + +QString KviActionEditorListViewItem::key(int,bool) const +{ + return m_szKey; +} + +void KviActionEditorListViewItem::setup() +{ + KviTalListViewItem::setup(); + int iWidth = m_pListView->visibleWidth(); + if(iWidth < LVI_MINIMUM_CELL_WIDTH)iWidth = LVI_MINIMUM_CELL_WIDTH; + iWidth -= LVI_BORDER + LVI_ICON_SIZE + LVI_SPACING + LVI_BORDER; + int iHeight = m_pText->pageSize().height() + (2 * LVI_BORDER); + if(iHeight < (LVI_ICON_SIZE + (2 * LVI_BORDER)))iHeight = LVI_ICON_SIZE + (2 * LVI_BORDER); + setHeight(iHeight); +} + +void KviActionEditorListViewItem::paintCell(QPainter * p,const QColorGroup & cg,int column,int width,int align) +{ if (isSelected()) { QColor col(m_pListView->palette().highlight()); col.setAlpha(200); p->setBrush(col); p->drawRect(0, 0, m_pListView->visibleWidth(), height()); - } - p->drawPixmap(LVI_BORDER,LVI_BORDER,*m_pIcon); - int afterIcon = LVI_BORDER + LVI_ICON_SIZE + LVI_SPACING; - int www = m_pListView->visibleWidth() - (afterIcon + LVI_BORDER); + } + p->drawPixmap(LVI_BORDER,LVI_BORDER,*m_pIcon); + int afterIcon = LVI_BORDER + LVI_ICON_SIZE + LVI_SPACING; + int www = m_pListView->visibleWidth() - (afterIcon + LVI_BORDER); p->translate(afterIcon,LVI_BORDER); m_pText->setPageSize(QSizeF(www,height() - (LVI_BORDER * 2))); - m_pText->drawContents(p); -} - - -KviSingleActionEditor::KviSingleActionEditor(QWidget * par,KviActionEditor * ed) -: QWidget(par) -{ - m_pActionEditor = ed; - m_pActionData = 0; - - QGridLayout * g = new QGridLayout(this,3,2,0,4); - - QLabel * l = new QLabel(__tr2qs("Name:"),this); - g->addWidget(l,0,0); - m_pNameEdit = new QLineEdit(this); - g->addWidget(m_pNameEdit,0,1); - QToolTip::add(m_pNameEdit,__tr2qs("Internal unique name for the action")); - - l = new QLabel(__tr2qs("Label:"),this); - g->addWidget(l,1,0); - m_pVisibleNameEdit = new QLineEdit(this); - g->addWidget(m_pVisibleNameEdit,1,1); - QToolTip::add(m_pVisibleNameEdit,__tr2qs("Visible name for this action.
This string will be displayed to the user so it is a good idea to use $tr() here")); - - QTabWidget * tw = new QTabWidget(this); - g->addMultiCellWidget(tw,2,2,0,1); - - // code tab - QWidget * tab = new QWidget(tw); - QGridLayout * gl = new QGridLayout(tab,1,1,8,4); - - m_pScriptEditor = KviScriptEditor::createInstance(tab); - gl->addWidget(m_pScriptEditor,0,0); - QToolTip::add(m_pScriptEditor,__tr2qs("Action code")); - - tw->addTab(tab,__tr2qs("Code")); - - // properties tab - tab = new QWidget(tw); - gl = new QGridLayout(tab,7,4,8,4); - - l = new QLabel(__tr2qs("Category:"),tab); - gl->addWidget(l,0,0); - m_pCategoryCombo = new QComboBox(false,tab); - gl->addMultiCellWidget(m_pCategoryCombo,0,0,1,3); - QToolTip::add(m_pCategoryCombo,__tr2qs("Choose the category that best fits for this action")); - - l = new QLabel(__tr2qs("Description:"),tab); - gl->addWidget(l,1,0); - m_pDescriptionEdit = new QLineEdit(tab); - gl->addMultiCellWidget(m_pDescriptionEdit,1,1,1,3); - QToolTip::add(m_pDescriptionEdit,__tr2qs("Visible short description for this action.
This string will be displayed to the user so it is a good idea to use $tr() here")); - - l = new QLabel(__tr2qs("Small Icon:"),tab); - gl->addWidget(l,2,0); - m_pSmallIconEdit = new QLineEdit(tab); - gl->addWidget(m_pSmallIconEdit,2,1); - m_pSmallIconButton = new QToolButton(tab); - m_pSmallIconButton->setMinimumSize(QSize(20,20)); - connect(m_pSmallIconButton,SIGNAL(clicked()),this,SLOT(chooseSmallIcon())); - gl->addWidget(m_pSmallIconButton,2,2); - QString s= __tr2qs("The small icon associated to this action.
" \ - "It will appear at least in the popup menus when this action is inserted.
" \ - "It should be 16x16 pixels."); - QToolTip::add(m_pSmallIconEdit,s); - QToolTip::add(m_pSmallIconButton,s); - - l = new QLabel(__tr2qs("Big Icon:"),tab); - gl->addWidget(l,3,0); - m_pBigIconEdit = new QLineEdit(tab); - gl->addWidget(m_pBigIconEdit,3,1); - m_pBigIconButton = new QToolButton(tab); - m_pBigIconButton->setMinimumSize(QSize(48,48)); - m_pBigIconButton->setUsesBigPixmap(true); - connect(m_pBigIconButton,SIGNAL(clicked()),this,SLOT(chooseBigIcon())); - gl->addMultiCellWidget(m_pBigIconButton,3,4,2,3); - s = __tr2qs("The big icon associated to this action.
" \ - "It will appear at least in the toolbar buttons when this action is inserted.
" \ - "It should be 32x32 pixels."); - QToolTip::add(m_pBigIconEdit,s); - QToolTip::add(m_pBigIconButton,s); - - l = new QLabel(__tr2qs("Key Sequence:"),tab); - gl->addMultiCellWidget(l,4,5,0,0); - m_pKeySequenceEdit = new QLineEdit(tab); - gl->addMultiCellWidget(m_pKeySequenceEdit,4,5,1,1); - QToolTip::add(m_pKeySequenceEdit,__tr2qs("Optional keyboard sequence that will activate this action.
" \ - "The sequence should be expressed as a string of up to four key codes separated by commas " \ - "eventually combined with the modifiers \"Ctrl\",\"Shift\",\"Alt\" and \"Meta\".
" \ - "Examples of such sequences are \"Ctrl+X\", \"Ctrl+Alt+Z\", \"Ctrl+X,Ctrl+C\" ...")); - - l = new QLabel(tab); - gl->addMultiCellWidget(l,6,6,0,3); - - gl->setColStretch(1,1); - gl->setRowStretch(6,1); - - - tw->addTab(tab,__tr2qs("Properties")); - - - - // flags tab - tab = new QWidget(tw); - gl = new QGridLayout(tab,12,4,8,4); - - - m_pNeedsContextCheck = new KviStyledCheckBox(__tr2qs("Needs IRC Context"),tab); - connect(m_pNeedsContextCheck,SIGNAL(toggled(bool)),this,SLOT(needsContextCheckToggled(bool))); - QToolTip::add(m_pNeedsContextCheck,__tr2qs("Check this option if this action should be enabled only when " \ - "the active window belongs to an irc context")); - gl->addMultiCellWidget(m_pNeedsContextCheck,0,0,0,3); - - l = new QLabel(tab); - l->setMinimumWidth(40); - gl->addWidget(l,1,0); - - m_pNeedsConnectionCheck = new KviStyledCheckBox(__tr2qs("Needs IRC Connection"),tab); - connect(m_pNeedsConnectionCheck,SIGNAL(toggled(bool)),this,SLOT(needsConnectionCheckToggled(bool))); - QToolTip::add(m_pNeedsConnectionCheck,__tr2qs("Check this option if this action should be enabled only when " \ - "the active window has an active IRC connection")); - gl->addMultiCellWidget(m_pNeedsConnectionCheck,1,1,1,3); - - l = new QLabel(tab); - l->setMinimumWidth(40); - gl->addWidget(l,2,1); - - m_pEnableAtLoginCheck = new KviStyledCheckBox(__tr2qs("Enable at Login"),tab); - QToolTip::add(m_pEnableAtLoginCheck,__tr2qs("Check this option if this action should be enabled also during " \ - "the login operations (so when the logical IRC connection hasn't been estabilished yet)")); - gl->addMultiCellWidget(m_pEnableAtLoginCheck,2,2,2,3); - - m_pSpecificWindowsCheck = new KviStyledCheckBox(__tr2qs("Enable Only in Specified Windows"),tab); - connect(m_pSpecificWindowsCheck,SIGNAL(toggled(bool)),this,SLOT(specificWindowsCheckToggled(bool))); - QToolTip::add(m_pSpecificWindowsCheck,__tr2qs("Check this option if this action should be enabled only when " \ - "the active window is of a specified type")); - gl->addMultiCellWidget(m_pSpecificWindowsCheck,3,3,0,3); - - m_pWindowConsoleCheck = new KviStyledCheckBox(__tr2qs("Enable in Console Windows"),tab); - QToolTip::add(m_pWindowConsoleCheck,__tr2qs("Check this option if this action should be enabled only when " \ - "the active window is a console")); - connect(m_pWindowConsoleCheck,SIGNAL(toggled(bool)),this,SLOT(channelQueryOrConsoleWindowCheckToggled(bool))); - gl->addMultiCellWidget(m_pWindowConsoleCheck,4,4,1,3); - - m_pConsoleOnlyIfUsersSelectedCheck = new KviStyledCheckBox(__tr2qs("Only If There Are Selected Users"),tab); - QToolTip::add(m_pConsoleOnlyIfUsersSelectedCheck,__tr2qs("This will enable the action only if there are " \ - "selected users in the active window")); - gl->addMultiCellWidget(m_pConsoleOnlyIfUsersSelectedCheck,5,5,2,3); - - m_pWindowChannelCheck = new KviStyledCheckBox(__tr2qs("Enable in Channel Windows"),tab); - QToolTip::add(m_pWindowChannelCheck,__tr2qs("Check this option if this action should be enabled only when " \ - "the active window is a channel")); - connect(m_pWindowChannelCheck,SIGNAL(toggled(bool)),this,SLOT(channelQueryOrConsoleWindowCheckToggled(bool))); - gl->addMultiCellWidget(m_pWindowChannelCheck,6,6,1,3); - - m_pChannelOnlyIfUsersSelectedCheck = new KviStyledCheckBox(__tr2qs("Only If There Are Selected Users"),tab); - QToolTip::add(m_pChannelOnlyIfUsersSelectedCheck,__tr2qs("This will enable the action only if there are " \ - "selected users in the active window")); - gl->addMultiCellWidget(m_pChannelOnlyIfUsersSelectedCheck,7,7,2,3); - - m_pWindowQueryCheck = new KviStyledCheckBox(__tr2qs("Enable in Query Windows"),tab); - QToolTip::add(m_pWindowQueryCheck,__tr2qs("Check this option if this action should be enabled only when " \ - "the active window is a query")); - connect(m_pWindowQueryCheck,SIGNAL(toggled(bool)),this,SLOT(channelQueryOrConsoleWindowCheckToggled(bool))); - gl->addMultiCellWidget(m_pWindowQueryCheck,8,8,1,3); - - m_pQueryOnlyIfUsersSelectedCheck = new KviStyledCheckBox(__tr2qs("Only If There Are Selected Users"),tab); - QToolTip::add(m_pQueryOnlyIfUsersSelectedCheck,__tr2qs("This will enable the action only if there are " \ - "selected users in the active window")); - gl->addMultiCellWidget(m_pQueryOnlyIfUsersSelectedCheck,9,9,2,3); - - m_pWindowDccChatCheck = new KviStyledCheckBox(__tr2qs("Enable in DCC Chat Windows"),tab); - QToolTip::add(m_pWindowDccChatCheck,__tr2qs("Check this option if this action should be enabled only when " \ - "the active window is a dcc chat")); - gl->addMultiCellWidget(m_pWindowDccChatCheck,10,10,1,3); - - l = new QLabel(tab); - gl->addMultiCellWidget(l,11,11,0,3); - gl->setColStretch(3,1); - gl->setRowStretch(11,1); - - tw->addTab(tab,__tr2qs("Flags")); - tw->setCurrentPage(0); - - g->setRowStretch(2,1); - g->setColStretch(1,1); - - KviPointerHashTableIterator it(*(KviActionManager::instance()->categories())); - while(KviActionCategory * ac = it.current()) - { - m_pCategoryCombo->insertItem(ac->visibleName() + " (" + ac->name() + ")"); - ++it; - } -} - -KviSingleActionEditor::~KviSingleActionEditor() -{ -} - -void KviSingleActionEditor::channelQueryOrConsoleWindowCheckToggled(bool) -{ - m_pChannelOnlyIfUsersSelectedCheck->setEnabled(m_pWindowChannelCheck->isChecked()); - m_pChannelOnlyIfUsersSelectedCheck->setChecked(false); - m_pQueryOnlyIfUsersSelectedCheck->setEnabled(m_pWindowQueryCheck->isChecked()); - m_pQueryOnlyIfUsersSelectedCheck->setChecked(false); - m_pConsoleOnlyIfUsersSelectedCheck->setEnabled(m_pWindowConsoleCheck->isChecked()); - m_pConsoleOnlyIfUsersSelectedCheck->setChecked(false); -} - -void KviSingleActionEditor::needsContextCheckToggled(bool) -{ - m_pEnableAtLoginCheck->setChecked(false); - m_pEnableAtLoginCheck->setEnabled(false); - m_pNeedsConnectionCheck->setChecked(false); - m_pNeedsConnectionCheck->setEnabled(m_pNeedsContextCheck->isChecked()); -} - -void KviSingleActionEditor::needsConnectionCheckToggled(bool) -{ - m_pEnableAtLoginCheck->setChecked(false); - m_pEnableAtLoginCheck->setEnabled(m_pNeedsConnectionCheck->isChecked()); -} - -void KviSingleActionEditor::specificWindowsCheckToggled(bool) -{ - m_pWindowConsoleCheck->setChecked(false); - m_pWindowChannelCheck->setChecked(false); - m_pWindowQueryCheck->setChecked(false); - m_pWindowDccChatCheck->setChecked(false); - m_pQueryOnlyIfUsersSelectedCheck->setChecked(false); - m_pChannelOnlyIfUsersSelectedCheck->setChecked(false); - m_pConsoleOnlyIfUsersSelectedCheck->setChecked(false); - m_pQueryOnlyIfUsersSelectedCheck->setEnabled(false); - m_pChannelOnlyIfUsersSelectedCheck->setEnabled(false); - m_pConsoleOnlyIfUsersSelectedCheck->setEnabled(false); - bool b = m_pSpecificWindowsCheck->isChecked(); - m_pWindowConsoleCheck->setEnabled(b); - m_pWindowChannelCheck->setEnabled(b); - m_pWindowQueryCheck->setEnabled(b); - m_pWindowDccChatCheck->setEnabled(b); -} - -void KviSingleActionEditor::chooseSmallIcon() -{ - if(!m_pActionData)return; - KviImageDialog * d = new KviImageDialog(this); - int ret = d->exec(); - QString s = d->selectedImage(); - delete d; - if(ret != QDialog::Accepted)return; - QPixmap * p = g_pIconManager->getImage(s.utf8().data()); - if(!p)return; - m_pSmallIconEdit->setText(s); - m_pSmallIconButton->setPixmap(*p); -} - -void KviSingleActionEditor::chooseBigIcon() -{ - if(!m_pActionData)return; - KviImageDialog * d = new KviImageDialog(this,QString::null,KID_TYPE_ALL,KID_TYPE_FULL_PATH); - int ret = d->exec(); - QString s = d->selectedImage(); - delete d; - if(ret != QDialog::Accepted)return; - QPixmap * p = g_pIconManager->getBigIcon(s); - if(!p)return; - m_pBigIconEdit->setText(s); - m_pBigIconButton->setPixmap(*p); -} - -void KviSingleActionEditor::setActionData(KviActionData * d) -{ - m_pActionData = d; - - if(d) - { - unsigned int uOldFlags = d->m_uFlags; - d->m_uFlags = KviAction::validateFlags(d->m_uFlags); - if(d->m_uFlags != uOldFlags) - debug("invalid action flags in KviSingleActionEditor::setActionData(): %d fixed to %d",uOldFlags,d->m_uFlags); - - m_pNameEdit->setText(d->m_szName); - m_pNameEdit->setEnabled(true); - m_pVisibleNameEdit->setText(d->m_szVisibleName); - m_pVisibleNameEdit->setEnabled(true); - m_pCategoryCombo->setEnabled(true); - int i; - for(i=0;icount();i++) - { - QString t = m_pCategoryCombo->text(i); - int idx = t.findRev('('); - QString r = t.right(t.length() - (idx + 1)); - QString r2 = r.left(r.length() - 1); - r2.stripWhiteSpace(); - if(r2 == d->m_szCategory) - { - m_pCategoryCombo->setCurrentItem(i); - break; - } - } - if(i == m_pCategoryCombo->count()) - { - m_pCategoryCombo->setCurrentItem(0); - } - m_pScriptEditor->setText(d->m_szScriptCode); - m_pScriptEditor->setEnabled(true); - m_pKeySequenceEdit->setText(d->m_szKeySequence); - m_pKeySequenceEdit->setEnabled(true); - m_pDescriptionEdit->setText(d->m_szDescription); - m_pDescriptionEdit->setEnabled(true); - m_pSmallIconEdit->setEnabled(true); - m_pBigIconEdit->setEnabled(true); - QPixmap * p = g_pIconManager->getImage(d->m_szSmallIcon); - if(p) - { - m_pSmallIconEdit->setText(d->m_szSmallIcon); - m_pSmallIconButton->setPixmap(*p); - } else { - m_pSmallIconEdit->setText(""); - m_pSmallIconButton->setPixmap(QPixmap()); - } - p = g_pIconManager->getImage(d->m_szBigIcon); - if(p) - { - m_pBigIconEdit->setText(d->m_szBigIcon); - m_pBigIconButton->setPixmap(*p); - } else { - m_pBigIconEdit->setText(""); - m_pBigIconButton->setPixmap(QPixmap()); - } - m_pSmallIconButton->setEnabled(true); - m_pBigIconButton->setEnabled(true); - m_pNeedsContextCheck->setEnabled(true); - bool b = (d->m_uFlags & KviAction::NeedsContext) || (d->m_uFlags & KviAction::NeedsConnection); - m_pNeedsContextCheck->setChecked(b); - - m_pNeedsConnectionCheck->setEnabled(b); - b = (d->m_uFlags & KviAction::NeedsContext) && (d->m_uFlags & KviAction::NeedsConnection); - m_pNeedsConnectionCheck->setChecked(b); - - m_pEnableAtLoginCheck->setEnabled(b); - m_pEnableAtLoginCheck->setChecked(b && (d->m_uFlags & KviAction::EnableAtLogin)); - - m_pSpecificWindowsCheck->setEnabled(true); - b = d->m_uFlags & KviAction::InternalWindowMask; - m_pSpecificWindowsCheck->setChecked(b); - - m_pWindowConsoleCheck->setEnabled(b); - m_pWindowChannelCheck->setEnabled(b); - m_pWindowQueryCheck->setEnabled(b); - m_pWindowDccChatCheck->setEnabled(b); - b = d->m_uFlags & KviAction::WindowConsole; - m_pWindowConsoleCheck->setChecked(b); - m_pConsoleOnlyIfUsersSelectedCheck->setEnabled(b); - m_pConsoleOnlyIfUsersSelectedCheck->setChecked(b && (d->m_uFlags & KviAction::WindowOnlyIfUsersSelected)); - b = d->m_uFlags & KviAction::WindowChannel; - m_pWindowChannelCheck->setChecked(b); - m_pChannelOnlyIfUsersSelectedCheck->setEnabled(b); - m_pChannelOnlyIfUsersSelectedCheck->setChecked(b && (d->m_uFlags & KviAction::WindowOnlyIfUsersSelected)); - b = d->m_uFlags & KviAction::WindowQuery; - m_pWindowQueryCheck->setChecked(b); - m_pQueryOnlyIfUsersSelectedCheck->setEnabled(b); - m_pQueryOnlyIfUsersSelectedCheck->setChecked(b && (d->m_uFlags & KviAction::WindowOnlyIfUsersSelected)); - m_pWindowDccChatCheck->setChecked(d->m_uFlags & KviAction::WindowDccChat); - } else { - m_pNameEdit->setText(""); - m_pNameEdit->setEnabled(false); - m_pVisibleNameEdit->setText(""); - m_pVisibleNameEdit->setEnabled(false); - m_pCategoryCombo->setEnabled(false); - m_pScriptEditor->setText(""); - m_pScriptEditor->setEnabled(false); - m_pKeySequenceEdit->setText(""); - m_pKeySequenceEdit->setEnabled(false); - m_pDescriptionEdit->setText(""); - m_pDescriptionEdit->setEnabled(false); - m_pSmallIconEdit->setText(""); - m_pSmallIconEdit->setEnabled(false); - m_pBigIconEdit->setText(""); - m_pBigIconEdit->setEnabled(false); - m_pSmallIconButton->setPixmap(QPixmap()); - m_pSmallIconButton->setEnabled(false); - m_pBigIconButton->setPixmap(QPixmap()); - m_pBigIconButton->setEnabled(false); - m_pNeedsContextCheck->setChecked(false); - m_pNeedsContextCheck->setEnabled(false); - m_pNeedsConnectionCheck->setChecked(false); - m_pNeedsConnectionCheck->setEnabled(false); - m_pEnableAtLoginCheck->setChecked(false); - m_pEnableAtLoginCheck->setEnabled(false); - m_pWindowConsoleCheck->setChecked(false); - m_pWindowConsoleCheck->setEnabled(false); - m_pWindowChannelCheck->setChecked(false); - m_pWindowChannelCheck->setEnabled(false); - m_pWindowQueryCheck->setChecked(false); - m_pWindowQueryCheck->setEnabled(false); - m_pWindowDccChatCheck->setChecked(false); - m_pWindowDccChatCheck->setEnabled(false); - m_pSpecificWindowsCheck->setChecked(false); - m_pSpecificWindowsCheck->setEnabled(false); - m_pQueryOnlyIfUsersSelectedCheck->setChecked(false); - m_pChannelOnlyIfUsersSelectedCheck->setChecked(false); - m_pConsoleOnlyIfUsersSelectedCheck->setChecked(false); - m_pQueryOnlyIfUsersSelectedCheck->setEnabled(false); - m_pChannelOnlyIfUsersSelectedCheck->setEnabled(false); - m_pConsoleOnlyIfUsersSelectedCheck->setEnabled(false); - } -} - -void KviSingleActionEditor::commit() -{ - if(!m_pActionData)return; - - QString tmp = m_pNameEdit->text(); - if(tmp != m_pActionData->m_szName) - { - int idx = 1; - while(KviActionManager::instance()->coreActionExists(tmp) || m_pActionEditor->actionExists(tmp)) - { - QString tmp2; - tmp2.setNum(idx); - tmp = m_pNameEdit->text(); - tmp.append(tmp2); - idx++; - } - } - - m_pActionData->m_szName = tmp; - m_pScriptEditor->getText(m_pActionData->m_szScriptCode); - m_pActionData->m_szVisibleName = m_pVisibleNameEdit->text(); - m_pActionData->m_szDescription = m_pDescriptionEdit->text(); - m_pActionData->m_szBigIcon = m_pBigIconEdit->text(); - m_pActionData->m_szSmallIcon = m_pSmallIconEdit->text(); - m_pActionData->m_szKeySequence = m_pKeySequenceEdit->text(); - QString szCat = m_pCategoryCombo->currentText(); - int idx = szCat.findRev(')'); - if(idx != -1)m_pActionData->m_szCategory = szCat.left(idx); - else m_pActionData->m_szCategory = szCat; - idx = m_pActionData->m_szCategory.findRev('('); - if(idx != -1)m_pActionData->m_szCategory.remove(0,idx+1); - m_pActionData->m_uFlags = 0; - if(m_pNeedsContextCheck->isChecked()) - { - m_pActionData->m_uFlags |= KviAction::NeedsContext; - if(m_pNeedsConnectionCheck->isChecked()) - { - m_pActionData->m_uFlags |= KviAction::NeedsConnection; - if(m_pEnableAtLoginCheck->isChecked())m_pActionData->m_uFlags |= KviAction::EnableAtLogin; - } - - } - if(m_pSpecificWindowsCheck->isChecked()) - { - if(m_pWindowConsoleCheck->isChecked())m_pActionData->m_uFlags |= KviAction::WindowConsole; - if(m_pWindowChannelCheck->isChecked())m_pActionData->m_uFlags |= KviAction::WindowChannel; - if(m_pWindowQueryCheck->isChecked())m_pActionData->m_uFlags |= KviAction::WindowQuery; - if(m_pWindowDccChatCheck->isChecked())m_pActionData->m_uFlags |= KviAction::WindowDccChat; - if(m_pActionData->m_uFlags & KviAction::InternalWindowMask) - { - if(m_pConsoleOnlyIfUsersSelectedCheck->isChecked() || - m_pChannelOnlyIfUsersSelectedCheck->isChecked() || - m_pQueryOnlyIfUsersSelectedCheck->isChecked()) - { - m_pActionData->m_uFlags |= KviAction::WindowOnlyIfUsersSelected; - } - } - } - - unsigned int uOldFlags = m_pActionData->m_uFlags; - m_pActionData->m_uFlags = KviAction::validateFlags(m_pActionData->m_uFlags); - if(m_pActionData->m_uFlags != uOldFlags) - debug("invalid action flags in KviSingleActionEditor::commit(): %d fixed to %d",uOldFlags,m_pActionData->m_uFlags); -} - - -KviActionEditorListView::KviActionEditorListView(QWidget * pParent) -: KviTalListView(pParent) -{ - setSelectionMode(Extended); - int iWidth = visibleWidth(); - if(iWidth < LVI_MINIMUM_CELL_WIDTH)iWidth = LVI_MINIMUM_CELL_WIDTH; - addColumn(__tr2qs("Action"),iWidth); - setSorting(0,true); -} - -KviActionEditorListView::~KviActionEditorListView() -{ -} - -void KviActionEditorListView::resizeEvent(QResizeEvent * e) -{ - KviTalListView::resizeEvent(e); - int iWidth = visibleWidth(); - if(iWidth < LVI_MINIMUM_CELL_WIDTH)iWidth = LVI_MINIMUM_CELL_WIDTH; - setColumnWidth(0,iWidth); -} - - -KviActionEditor::KviActionEditor(QWidget * par) -: QWidget(par) -{ - - QGridLayout * l = new QGridLayout(this,1,1,2,2); - m_pSplitter = new QSplitter(Qt::Horizontal,this); - m_pSplitter->setOpaqueResize(false); - l->addWidget(m_pSplitter,0,0); - - - KviTalVBox * box = new KviTalVBox(m_pSplitter); - m_pListView = new KviActionEditorListView(box); - //m_pListView->setMultiSelection(false); - m_pListView->setShowSortIndicator(true); - m_pListView->setFocusPolicy(Qt::StrongFocus); - connect(m_pListView,SIGNAL(currentChanged(KviTalListViewItem *)),this,SLOT(currentChanged(KviTalListViewItem *))); - - m_pNewActionButton = new QPushButton(__tr2qs("New Action"),box); - connect(m_pNewActionButton,SIGNAL(clicked()),this,SLOT(newAction())); - - m_pDeleteActionsButton = new QPushButton(__tr2qs("Delete Actions"),box); - connect(m_pDeleteActionsButton,SIGNAL(clicked()),this,SLOT(deleteActions())); - - m_pExportActionsButton = new QPushButton(__tr2qs("Export Actions..."),box); - connect(m_pExportActionsButton,SIGNAL(clicked()),this,SLOT(exportActions())); - - box->setSpacing(1); - - m_pSingleActionEditor = new KviSingleActionEditor(m_pSplitter,this); - - KviActionEditorListViewItem * last = 0; - KviActionEditorListViewItem * first = 0; - - KviPointerHashTableIterator it(*(KviActionManager::instance()->actions())); - while(KviAction * a = it.current()) - { - if(a->isKviUserActionNeverOverrideThis()) - { - KviActionData * ad = new KviActionData(a->name(), - ((KviKvsUserAction *)a)->scriptCode(), - ((KviKvsUserAction *)a)->visibleNameCode(), - ((KviKvsUserAction *)a)->descriptionCode(), - a->category() ? a->category()->name() : KviActionManager::categoryGeneric()->name(), - a->bigIconString(), - ((KviKvsUserAction *)a)->smallIconString(), - a->flags(), - a->keySequence(), - 0); - KviActionEditorListViewItem * lvi = new KviActionEditorListViewItem(m_pListView,ad); - ad->m_pItem = lvi; - if(ad->m_szName == g_szLastEditedAction) - last = lvi; - if(!first) - first = lvi; - } - ++it; - } - - if(!last)last = first; // try to sleect the first one then - - if(last) - { - m_pListView->setCurrentItem(last); - currentChanged(last); - } else { - currentChanged(0); - } - -} - -KviActionEditor::~KviActionEditor() -{ -} - -void KviActionEditor::exportActions() -{ - QString szName = QDir::homeDirPath(); - if(!szName.endsWith(QString(KVI_PATH_SEPARATOR)))szName += KVI_PATH_SEPARATOR; - szName += "myactions.kvs"; - - QString szFile; - - if(!KviFileDialog::askForSaveFileName(szFile,__tr2qs("Choose a Filename - KVIrc"),szName,QString::null,true,true,true))return; - - QString szCode; - - KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)m_pListView->firstChild(); - while(it) - { - if(it->isSelected()) - { - KviActionData * a = it->actionData(); - - KviKvsUserAction::exportToKvs(szCode, - a->m_szName, - a->m_szScriptCode, - a->m_szVisibleName, - a->m_szDescription, - a->m_szCategory, - a->m_szBigIcon, - a->m_szSmallIcon, - a->m_uFlags, - a->m_szKeySequence); - } - - it = (KviActionEditorListViewItem *)(it->nextSibling()); - } - - if(!KviFileUtils::writeFile(szFile,szCode)) - { - QMessageBox::warning(this,__tr2qs("Write Failed - KVIrc"),__tr2qs("Unable to write to the actions file."),__tr2qs("OK")); - } -} - -void KviActionEditor::deleteActions() -{ - KviPointerList l; - l.setAutoDelete(false); - - KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)m_pListView->firstChild(); - while(it) - { - if(it->isSelected()) - l.append(it); - - it = (KviActionEditorListViewItem *)(it->nextSibling()); - } - - if(l.isEmpty())return; - - //if(QMessageBox::question(this,__tr2qsf("Confirm Deletion"),__tr2qsf("Do you really want to delete the selected actions ?"),__tr2qsf("Yes"),__tr2qsf("No")) != 0) - // return; - - for(KviActionEditorListViewItem * i = l.first();i;i = l.next()) - { - if(m_pSingleActionEditor->actionData() == i->actionData()) - m_pSingleActionEditor->setActionData(0); - delete i; - } -} - - -QString KviActionEditor::nameForAutomaticAction(const QString &szTemplate) -{ - QString ret; - QString szT = szTemplate; - szT.replace(" ",""); - szT.replace(".","_"); - - int i = 1; - do { - KviQString::sprintf(ret,"%Q%d",&szT,i); - i++; - } while(actionExists(ret)); - - return ret; -} - -void KviActionEditor::newAction() -{ - QString szName = nameForAutomaticAction(__tr2qs("My Action")); - QString szVis = __tr2qs("My Action"); - QString szDes = __tr2qs("Put here a short description of your action"); - - szVis.prepend("$tr(\""); - szVis.append("\")"); - szDes.prepend("$tr(\""); - szDes.append("\")"); - - KviActionData * ad = new KviActionData(szName, - QString::null, - szVis, - szDes, - KviActionManager::categoryGeneric()->name(), - QString::null, - QString::null, - 0, - QString::null, - 0); - - KviActionEditorListViewItem * lvi = new KviActionEditorListViewItem(m_pListView,ad); - ad->m_pItem = lvi; - m_pListView->setCurrentItem(lvi); - currentChanged(lvi); -} - -bool KviActionEditor::actionExists(const QString &szName) -{ - KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)m_pListView->firstChild(); - while(it) - { - if(it->actionData()->m_szName == szName)return true; - it = (KviActionEditorListViewItem *)(it->nextSibling()); - } - return false; -} - - -void KviActionEditor::currentChanged(KviTalListViewItem * i) -{ - if(m_pSingleActionEditor->actionData()) - { - m_pSingleActionEditor->commit(); - m_pSingleActionEditor->actionData()->m_pItem->setupForActionData(); - } - - m_pListView->update(); - - KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)i; - if(!it) - { - m_pSingleActionEditor->setActionData(0); - m_pDeleteActionsButton->setEnabled(false); - m_pExportActionsButton->setEnabled(false); - return; - } - m_pDeleteActionsButton->setEnabled(true); - m_pExportActionsButton->setEnabled(true); - - if(!it->isSelected())m_pListView->setSelected(it,true); - - m_pSingleActionEditor->setActionData(it->actionData()); - g_szLastEditedAction = it->actionData()->m_szName; -} - -void KviActionEditor::commit() -{ - m_pSingleActionEditor->commit(); - - // the hard part: update the actions without destroying them... - - KviActionManager::instance()->killAllKvsUserActions(); - - KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)m_pListView->firstChild(); - while(it) - { - KviKvsUserAction * a = KviKvsUserAction::createInstance( // msvc workaround - KviActionManager::instance(), - it->actionData()->m_szName, - it->actionData()->m_szScriptCode, - it->actionData()->m_szVisibleName, - it->actionData()->m_szDescription, - it->actionData()->m_szCategory, - it->actionData()->m_szBigIcon, - it->actionData()->m_szSmallIcon, - it->actionData()->m_uFlags, - it->actionData()->m_szKeySequence); - - KviActionManager::instance()->registerAction(a); - - it = (KviActionEditorListViewItem *)(it->nextSibling()); - } - - KviCustomToolBarManager::instance()->updateVisibleToolBars(); -} - - -KviActionEditorWindow::KviActionEditorWindow(KviFrame * lpFrm) -: KviWindow(KVI_WINDOW_TYPE_SCRIPTEDITOR,lpFrm,"actioneditor",0) -{ - g_pActionEditorWindow = this; - setFixedCaption(__tr2qs("Action Editor")); - - m_pEditor = new KviActionEditor(this); - - m_pBase = new QWidget(this); - QGridLayout * g = new QGridLayout(m_pBase,1,4,4,4); - - QPushButton * btn = new QPushButton(__tr2qs("OK"),m_pBase); - btn->setMinimumWidth(80); - connect(btn,SIGNAL(clicked()),this,SLOT(okClicked())); - btn->setIconSet(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_ACCEPT))); - g->addWidget(btn,0,1); - - btn = new QPushButton(__tr2qs("Apply"),m_pBase); - btn->setMinimumWidth(80); - connect(btn,SIGNAL(clicked()),this,SLOT(applyClicked())); - btn->setIconSet(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_ACCEPT))); - g->addWidget(btn,0,2); - - btn = new QPushButton(__tr2qs("Cancel"),m_pBase); - btn->setMinimumWidth(80); - connect(btn,SIGNAL(clicked()),this,SLOT(cancelClicked())); - btn->setIconSet(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_DISCARD))); - g->addWidget(btn,0,3); - - g->setColStretch(0,1); - -} - -KviActionEditorWindow::~KviActionEditorWindow() -{ - g_pActionEditorWindow = 0; -} - -void KviActionEditorWindow::okClicked() -{ - m_pEditor->commit(); - close(); -} - -void KviActionEditorWindow::applyClicked() -{ - m_pEditor->commit(); -} - -void KviActionEditorWindow::cancelClicked() -{ - close(); -} - -QPixmap * KviActionEditorWindow::myIconPtr() -{ - return g_pIconManager->getSmallIcon(KVI_SMALLICON_SCRIPTACTION); -} - -void KviActionEditorWindow::resizeEvent(QResizeEvent *e) -{ - int hght = m_pBase->sizeHint().height(); - m_pEditor->setGeometry(0,0,width(),height()- hght); - m_pBase->setGeometry(0,height() - hght,width(),hght); -} - -void KviActionEditorWindow::getConfigGroupName(KviStr &szName) -{ - szName = "actioneditor"; -} - - -void KviActionEditorWindow::saveProperties(KviConfig *cfg) -{ - KviWindow::saveProperties(cfg); - cfg->writeEntry("Splitter",m_pEditor->m_pSplitter->sizes()); -} - -void KviActionEditorWindow::loadProperties(KviConfig *cfg) -{ - int w = width(); - KviWindow::loadProperties(cfg); - KviValueList def; - def.append((w * 25) / 100); - def.append((w * 75) / 100); - m_pEditor->m_pSplitter->setSizes(cfg->readIntListEntry("Splitter",def)); -} + m_pText->drawContents(p); +} + + +KviSingleActionEditor::KviSingleActionEditor(QWidget * par,KviActionEditor * ed) +: QWidget(par) +{ + m_pActionEditor = ed; + m_pActionData = 0; + + QGridLayout * g = new QGridLayout(this,3,2,0,4); + + QLabel * l = new QLabel(__tr2qs("Name:"),this); + g->addWidget(l,0,0); + m_pNameEdit = new QLineEdit(this); + g->addWidget(m_pNameEdit,0,1); + QToolTip::add(m_pNameEdit,__tr2qs("Internal unique name for the action")); + + l = new QLabel(__tr2qs("Label:"),this); + g->addWidget(l,1,0); + m_pVisibleNameEdit = new QLineEdit(this); + g->addWidget(m_pVisibleNameEdit,1,1); + QToolTip::add(m_pVisibleNameEdit,__tr2qs("Visible name for this action.
This string will be displayed to the user so it is a good idea to use $tr() here")); + + QTabWidget * tw = new QTabWidget(this); + g->addMultiCellWidget(tw,2,2,0,1); + + // code tab + QWidget * tab = new QWidget(tw); + QGridLayout * gl = new QGridLayout(tab,1,1,8,4); + + m_pScriptEditor = KviScriptEditor::createInstance(tab); + gl->addWidget(m_pScriptEditor,0,0); + QToolTip::add(m_pScriptEditor,__tr2qs("Action code")); + + tw->addTab(tab,__tr2qs("Code")); + + // properties tab + tab = new QWidget(tw); + gl = new QGridLayout(tab,7,4,8,4); + + l = new QLabel(__tr2qs("Category:"),tab); + gl->addWidget(l,0,0); + m_pCategoryCombo = new QComboBox(false,tab); + gl->addMultiCellWidget(m_pCategoryCombo,0,0,1,3); + QToolTip::add(m_pCategoryCombo,__tr2qs("Choose the category that best fits for this action")); + + l = new QLabel(__tr2qs("Description:"),tab); + gl->addWidget(l,1,0); + m_pDescriptionEdit = new QLineEdit(tab); + gl->addMultiCellWidget(m_pDescriptionEdit,1,1,1,3); + QToolTip::add(m_pDescriptionEdit,__tr2qs("Visible short description for this action.
This string will be displayed to the user so it is a good idea to use $tr() here")); + + l = new QLabel(__tr2qs("Small Icon:"),tab); + gl->addWidget(l,2,0); + m_pSmallIconEdit = new QLineEdit(tab); + gl->addWidget(m_pSmallIconEdit,2,1); + m_pSmallIconButton = new QToolButton(tab); + m_pSmallIconButton->setMinimumSize(QSize(20,20)); + connect(m_pSmallIconButton,SIGNAL(clicked()),this,SLOT(chooseSmallIcon())); + gl->addWidget(m_pSmallIconButton,2,2); + QString s= __tr2qs("The small icon associated to this action.
" \ + "It will appear at least in the popup menus when this action is inserted.
" \ + "It should be 16x16 pixels."); + QToolTip::add(m_pSmallIconEdit,s); + QToolTip::add(m_pSmallIconButton,s); + + l = new QLabel(__tr2qs("Big Icon:"),tab); + gl->addWidget(l,3,0); + m_pBigIconEdit = new QLineEdit(tab); + gl->addWidget(m_pBigIconEdit,3,1); + m_pBigIconButton = new QToolButton(tab); + m_pBigIconButton->setMinimumSize(QSize(48,48)); + m_pBigIconButton->setUsesBigPixmap(true); + connect(m_pBigIconButton,SIGNAL(clicked()),this,SLOT(chooseBigIcon())); + gl->addMultiCellWidget(m_pBigIconButton,3,4,2,3); + s = __tr2qs("The big icon associated to this action.
" \ + "It will appear at least in the toolbar buttons when this action is inserted.
" \ + "It should be 32x32 pixels."); + QToolTip::add(m_pBigIconEdit,s); + QToolTip::add(m_pBigIconButton,s); + + l = new QLabel(__tr2qs("Key Sequence:"),tab); + gl->addMultiCellWidget(l,4,5,0,0); + m_pKeySequenceEdit = new QLineEdit(tab); + gl->addMultiCellWidget(m_pKeySequenceEdit,4,5,1,1); + QToolTip::add(m_pKeySequenceEdit,__tr2qs("Optional keyboard sequence that will activate this action.
" \ + "The sequence should be expressed as a string of up to four key codes separated by commas " \ + "eventually combined with the modifiers \"Ctrl\",\"Shift\",\"Alt\" and \"Meta\".
" \ + "Examples of such sequences are \"Ctrl+X\", \"Ctrl+Alt+Z\", \"Ctrl+X,Ctrl+C\" ...")); + + l = new QLabel(tab); + gl->addMultiCellWidget(l,6,6,0,3); + + gl->setColStretch(1,1); + gl->setRowStretch(6,1); + + + tw->addTab(tab,__tr2qs("Properties")); + + + + // flags tab + tab = new QWidget(tw); + gl = new QGridLayout(tab,12,4,8,4); + + + m_pNeedsContextCheck = new KviStyledCheckBox(__tr2qs("Needs IRC Context"),tab); + connect(m_pNeedsContextCheck,SIGNAL(toggled(bool)),this,SLOT(needsContextCheckToggled(bool))); + QToolTip::add(m_pNeedsContextCheck,__tr2qs("Check this option if this action should be enabled only when " \ + "the active window belongs to an irc context")); + gl->addMultiCellWidget(m_pNeedsContextCheck,0,0,0,3); + + l = new QLabel(tab); + l->setMinimumWidth(40); + gl->addWidget(l,1,0); + + m_pNeedsConnectionCheck = new KviStyledCheckBox(__tr2qs("Needs IRC Connection"),tab); + connect(m_pNeedsConnectionCheck,SIGNAL(toggled(bool)),this,SLOT(needsConnectionCheckToggled(bool))); + QToolTip::add(m_pNeedsConnectionCheck,__tr2qs("Check this option if this action should be enabled only when " \ + "the active window has an active IRC connection")); + gl->addMultiCellWidget(m_pNeedsConnectionCheck,1,1,1,3); + + l = new QLabel(tab); + l->setMinimumWidth(40); + gl->addWidget(l,2,1); + + m_pEnableAtLoginCheck = new KviStyledCheckBox(__tr2qs("Enable at Login"),tab); + QToolTip::add(m_pEnableAtLoginCheck,__tr2qs("Check this option if this action should be enabled also during " \ + "the login operations (so when the logical IRC connection hasn't been estabilished yet)")); + gl->addMultiCellWidget(m_pEnableAtLoginCheck,2,2,2,3); + + m_pSpecificWindowsCheck = new KviStyledCheckBox(__tr2qs("Enable Only in Specified Windows"),tab); + connect(m_pSpecificWindowsCheck,SIGNAL(toggled(bool)),this,SLOT(specificWindowsCheckToggled(bool))); + QToolTip::add(m_pSpecificWindowsCheck,__tr2qs("Check this option if this action should be enabled only when " \ + "the active window is of a specified type")); + gl->addMultiCellWidget(m_pSpecificWindowsCheck,3,3,0,3); + + m_pWindowConsoleCheck = new KviStyledCheckBox(__tr2qs("Enable in Console Windows"),tab); + QToolTip::add(m_pWindowConsoleCheck,__tr2qs("Check this option if this action should be enabled only when " \ + "the active window is a console")); + connect(m_pWindowConsoleCheck,SIGNAL(toggled(bool)),this,SLOT(channelQueryOrConsoleWindowCheckToggled(bool))); + gl->addMultiCellWidget(m_pWindowConsoleCheck,4,4,1,3); + + m_pConsoleOnlyIfUsersSelectedCheck = new KviStyledCheckBox(__tr2qs("Only If There Are Selected Users"),tab); + QToolTip::add(m_pConsoleOnlyIfUsersSelectedCheck,__tr2qs("This will enable the action only if there are " \ + "selected users in the active window")); + gl->addMultiCellWidget(m_pConsoleOnlyIfUsersSelectedCheck,5,5,2,3); + + m_pWindowChannelCheck = new KviStyledCheckBox(__tr2qs("Enable in Channel Windows"),tab); + QToolTip::add(m_pWindowChannelCheck,__tr2qs("Check this option if this action should be enabled only when " \ + "the active window is a channel")); + connect(m_pWindowChannelCheck,SIGNAL(toggled(bool)),this,SLOT(channelQueryOrConsoleWindowCheckToggled(bool))); + gl->addMultiCellWidget(m_pWindowChannelCheck,6,6,1,3); + + m_pChannelOnlyIfUsersSelectedCheck = new KviStyledCheckBox(__tr2qs("Only If There Are Selected Users"),tab); + QToolTip::add(m_pChannelOnlyIfUsersSelectedCheck,__tr2qs("This will enable the action only if there are " \ + "selected users in the active window")); + gl->addMultiCellWidget(m_pChannelOnlyIfUsersSelectedCheck,7,7,2,3); + + m_pWindowQueryCheck = new KviStyledCheckBox(__tr2qs("Enable in Query Windows"),tab); + QToolTip::add(m_pWindowQueryCheck,__tr2qs("Check this option if this action should be enabled only when " \ + "the active window is a query")); + connect(m_pWindowQueryCheck,SIGNAL(toggled(bool)),this,SLOT(channelQueryOrConsoleWindowCheckToggled(bool))); + gl->addMultiCellWidget(m_pWindowQueryCheck,8,8,1,3); + + m_pQueryOnlyIfUsersSelectedCheck = new KviStyledCheckBox(__tr2qs("Only If There Are Selected Users"),tab); + QToolTip::add(m_pQueryOnlyIfUsersSelectedCheck,__tr2qs("This will enable the action only if there are " \ + "selected users in the active window")); + gl->addMultiCellWidget(m_pQueryOnlyIfUsersSelectedCheck,9,9,2,3); + + m_pWindowDccChatCheck = new KviStyledCheckBox(__tr2qs("Enable in DCC Chat Windows"),tab); + QToolTip::add(m_pWindowDccChatCheck,__tr2qs("Check this option if this action should be enabled only when " \ + "the active window is a dcc chat")); + gl->addMultiCellWidget(m_pWindowDccChatCheck,10,10,1,3); + + l = new QLabel(tab); + gl->addMultiCellWidget(l,11,11,0,3); + gl->setColStretch(3,1); + gl->setRowStretch(11,1); + + tw->addTab(tab,__tr2qs("Flags")); + tw->setCurrentPage(0); + + g->setRowStretch(2,1); + g->setColStretch(1,1); + + KviPointerHashTableIterator it(*(KviActionManager::instance()->categories())); + while(KviActionCategory * ac = it.current()) + { + m_pCategoryCombo->insertItem(ac->visibleName() + " (" + ac->name() + ")"); + ++it; + } +} + +KviSingleActionEditor::~KviSingleActionEditor() +{ +} + +void KviSingleActionEditor::channelQueryOrConsoleWindowCheckToggled(bool) +{ + m_pChannelOnlyIfUsersSelectedCheck->setEnabled(m_pWindowChannelCheck->isChecked()); + m_pChannelOnlyIfUsersSelectedCheck->setChecked(false); + m_pQueryOnlyIfUsersSelectedCheck->setEnabled(m_pWindowQueryCheck->isChecked()); + m_pQueryOnlyIfUsersSelectedCheck->setChecked(false); + m_pConsoleOnlyIfUsersSelectedCheck->setEnabled(m_pWindowConsoleCheck->isChecked()); + m_pConsoleOnlyIfUsersSelectedCheck->setChecked(false); +} + +void KviSingleActionEditor::needsContextCheckToggled(bool) +{ + m_pEnableAtLoginCheck->setChecked(false); + m_pEnableAtLoginCheck->setEnabled(false); + m_pNeedsConnectionCheck->setChecked(false); + m_pNeedsConnectionCheck->setEnabled(m_pNeedsContextCheck->isChecked()); +} + +void KviSingleActionEditor::needsConnectionCheckToggled(bool) +{ + m_pEnableAtLoginCheck->setChecked(false); + m_pEnableAtLoginCheck->setEnabled(m_pNeedsConnectionCheck->isChecked()); +} + +void KviSingleActionEditor::specificWindowsCheckToggled(bool) +{ + m_pWindowConsoleCheck->setChecked(false); + m_pWindowChannelCheck->setChecked(false); + m_pWindowQueryCheck->setChecked(false); + m_pWindowDccChatCheck->setChecked(false); + m_pQueryOnlyIfUsersSelectedCheck->setChecked(false); + m_pChannelOnlyIfUsersSelectedCheck->setChecked(false); + m_pConsoleOnlyIfUsersSelectedCheck->setChecked(false); + m_pQueryOnlyIfUsersSelectedCheck->setEnabled(false); + m_pChannelOnlyIfUsersSelectedCheck->setEnabled(false); + m_pConsoleOnlyIfUsersSelectedCheck->setEnabled(false); + bool b = m_pSpecificWindowsCheck->isChecked(); + m_pWindowConsoleCheck->setEnabled(b); + m_pWindowChannelCheck->setEnabled(b); + m_pWindowQueryCheck->setEnabled(b); + m_pWindowDccChatCheck->setEnabled(b); +} + +void KviSingleActionEditor::chooseSmallIcon() +{ + if(!m_pActionData)return; + KviImageDialog * d = new KviImageDialog(this); + int ret = d->exec(); + QString s = d->selectedImage(); + delete d; + if(ret != QDialog::Accepted)return; + QPixmap * p = g_pIconManager->getImage(s.toUtf8().data()); + if(!p)return; + m_pSmallIconEdit->setText(s); + m_pSmallIconButton->setPixmap(*p); +} + +void KviSingleActionEditor::chooseBigIcon() +{ + if(!m_pActionData)return; + KviImageDialog * d = new KviImageDialog(this,QString::null,KID_TYPE_ALL,KID_TYPE_FULL_PATH); + int ret = d->exec(); + QString s = d->selectedImage(); + delete d; + if(ret != QDialog::Accepted)return; + QPixmap * p = g_pIconManager->getBigIcon(s); + if(!p)return; + m_pBigIconEdit->setText(s); + m_pBigIconButton->setPixmap(*p); +} + +void KviSingleActionEditor::setActionData(KviActionData * d) +{ + m_pActionData = d; + + if(d) + { + unsigned int uOldFlags = d->m_uFlags; + d->m_uFlags = KviAction::validateFlags(d->m_uFlags); + if(d->m_uFlags != uOldFlags) + debug("invalid action flags in KviSingleActionEditor::setActionData(): %d fixed to %d",uOldFlags,d->m_uFlags); + + m_pNameEdit->setText(d->m_szName); + m_pNameEdit->setEnabled(true); + m_pVisibleNameEdit->setText(d->m_szVisibleName); + m_pVisibleNameEdit->setEnabled(true); + m_pCategoryCombo->setEnabled(true); + int i; + for(i=0;icount();i++) + { + QString t = m_pCategoryCombo->text(i); + int idx = t.findRev('('); + QString r = t.right(t.length() - (idx + 1)); + QString r2 = r.left(r.length() - 1); + r2.stripWhiteSpace(); + if(r2 == d->m_szCategory) + { + m_pCategoryCombo->setCurrentItem(i); + break; + } + } + if(i == m_pCategoryCombo->count()) + { + m_pCategoryCombo->setCurrentItem(0); + } + m_pScriptEditor->setText(d->m_szScriptCode); + m_pScriptEditor->setEnabled(true); + m_pKeySequenceEdit->setText(d->m_szKeySequence); + m_pKeySequenceEdit->setEnabled(true); + m_pDescriptionEdit->setText(d->m_szDescription); + m_pDescriptionEdit->setEnabled(true); + m_pSmallIconEdit->setEnabled(true); + m_pBigIconEdit->setEnabled(true); + QPixmap * p = g_pIconManager->getImage(d->m_szSmallIcon); + if(p) + { + m_pSmallIconEdit->setText(d->m_szSmallIcon); + m_pSmallIconButton->setPixmap(*p); + } else { + m_pSmallIconEdit->setText(""); + m_pSmallIconButton->setPixmap(QPixmap()); + } + p = g_pIconManager->getImage(d->m_szBigIcon); + if(p) + { + m_pBigIconEdit->setText(d->m_szBigIcon); + m_pBigIconButton->setPixmap(*p); + } else { + m_pBigIconEdit->setText(""); + m_pBigIconButton->setPixmap(QPixmap()); + } + m_pSmallIconButton->setEnabled(true); + m_pBigIconButton->setEnabled(true); + m_pNeedsContextCheck->setEnabled(true); + bool b = (d->m_uFlags & KviAction::NeedsContext) || (d->m_uFlags & KviAction::NeedsConnection); + m_pNeedsContextCheck->setChecked(b); + + m_pNeedsConnectionCheck->setEnabled(b); + b = (d->m_uFlags & KviAction::NeedsContext) && (d->m_uFlags & KviAction::NeedsConnection); + m_pNeedsConnectionCheck->setChecked(b); + + m_pEnableAtLoginCheck->setEnabled(b); + m_pEnableAtLoginCheck->setChecked(b && (d->m_uFlags & KviAction::EnableAtLogin)); + + m_pSpecificWindowsCheck->setEnabled(true); + b = d->m_uFlags & KviAction::InternalWindowMask; + m_pSpecificWindowsCheck->setChecked(b); + + m_pWindowConsoleCheck->setEnabled(b); + m_pWindowChannelCheck->setEnabled(b); + m_pWindowQueryCheck->setEnabled(b); + m_pWindowDccChatCheck->setEnabled(b); + b = d->m_uFlags & KviAction::WindowConsole; + m_pWindowConsoleCheck->setChecked(b); + m_pConsoleOnlyIfUsersSelectedCheck->setEnabled(b); + m_pConsoleOnlyIfUsersSelectedCheck->setChecked(b && (d->m_uFlags & KviAction::WindowOnlyIfUsersSelected)); + b = d->m_uFlags & KviAction::WindowChannel; + m_pWindowChannelCheck->setChecked(b); + m_pChannelOnlyIfUsersSelectedCheck->setEnabled(b); + m_pChannelOnlyIfUsersSelectedCheck->setChecked(b && (d->m_uFlags & KviAction::WindowOnlyIfUsersSelected)); + b = d->m_uFlags & KviAction::WindowQuery; + m_pWindowQueryCheck->setChecked(b); + m_pQueryOnlyIfUsersSelectedCheck->setEnabled(b); + m_pQueryOnlyIfUsersSelectedCheck->setChecked(b && (d->m_uFlags & KviAction::WindowOnlyIfUsersSelected)); + m_pWindowDccChatCheck->setChecked(d->m_uFlags & KviAction::WindowDccChat); + } else { + m_pNameEdit->setText(""); + m_pNameEdit->setEnabled(false); + m_pVisibleNameEdit->setText(""); + m_pVisibleNameEdit->setEnabled(false); + m_pCategoryCombo->setEnabled(false); + m_pScriptEditor->setText(""); + m_pScriptEditor->setEnabled(false); + m_pKeySequenceEdit->setText(""); + m_pKeySequenceEdit->setEnabled(false); + m_pDescriptionEdit->setText(""); + m_pDescriptionEdit->setEnabled(false); + m_pSmallIconEdit->setText(""); + m_pSmallIconEdit->setEnabled(false); + m_pBigIconEdit->setText(""); + m_pBigIconEdit->setEnabled(false); + m_pSmallIconButton->setPixmap(QPixmap()); + m_pSmallIconButton->setEnabled(false); + m_pBigIconButton->setPixmap(QPixmap()); + m_pBigIconButton->setEnabled(false); + m_pNeedsContextCheck->setChecked(false); + m_pNeedsContextCheck->setEnabled(false); + m_pNeedsConnectionCheck->setChecked(false); + m_pNeedsConnectionCheck->setEnabled(false); + m_pEnableAtLoginCheck->setChecked(false); + m_pEnableAtLoginCheck->setEnabled(false); + m_pWindowConsoleCheck->setChecked(false); + m_pWindowConsoleCheck->setEnabled(false); + m_pWindowChannelCheck->setChecked(false); + m_pWindowChannelCheck->setEnabled(false); + m_pWindowQueryCheck->setChecked(false); + m_pWindowQueryCheck->setEnabled(false); + m_pWindowDccChatCheck->setChecked(false); + m_pWindowDccChatCheck->setEnabled(false); + m_pSpecificWindowsCheck->setChecked(false); + m_pSpecificWindowsCheck->setEnabled(false); + m_pQueryOnlyIfUsersSelectedCheck->setChecked(false); + m_pChannelOnlyIfUsersSelectedCheck->setChecked(false); + m_pConsoleOnlyIfUsersSelectedCheck->setChecked(false); + m_pQueryOnlyIfUsersSelectedCheck->setEnabled(false); + m_pChannelOnlyIfUsersSelectedCheck->setEnabled(false); + m_pConsoleOnlyIfUsersSelectedCheck->setEnabled(false); + } +} + +void KviSingleActionEditor::commit() +{ + if(!m_pActionData)return; + + QString tmp = m_pNameEdit->text(); + if(tmp != m_pActionData->m_szName) + { + int idx = 1; + while(KviActionManager::instance()->coreActionExists(tmp) || m_pActionEditor->actionExists(tmp)) + { + QString tmp2; + tmp2.setNum(idx); + tmp = m_pNameEdit->text(); + tmp.append(tmp2); + idx++; + } + } + + m_pActionData->m_szName = tmp; + m_pScriptEditor->getText(m_pActionData->m_szScriptCode); + m_pActionData->m_szVisibleName = m_pVisibleNameEdit->text(); + m_pActionData->m_szDescription = m_pDescriptionEdit->text(); + m_pActionData->m_szBigIcon = m_pBigIconEdit->text(); + m_pActionData->m_szSmallIcon = m_pSmallIconEdit->text(); + m_pActionData->m_szKeySequence = m_pKeySequenceEdit->text(); + QString szCat = m_pCategoryCombo->currentText(); + int idx = szCat.findRev(')'); + if(idx != -1)m_pActionData->m_szCategory = szCat.left(idx); + else m_pActionData->m_szCategory = szCat; + idx = m_pActionData->m_szCategory.findRev('('); + if(idx != -1)m_pActionData->m_szCategory.remove(0,idx+1); + m_pActionData->m_uFlags = 0; + if(m_pNeedsContextCheck->isChecked()) + { + m_pActionData->m_uFlags |= KviAction::NeedsContext; + if(m_pNeedsConnectionCheck->isChecked()) + { + m_pActionData->m_uFlags |= KviAction::NeedsConnection; + if(m_pEnableAtLoginCheck->isChecked())m_pActionData->m_uFlags |= KviAction::EnableAtLogin; + } + + } + if(m_pSpecificWindowsCheck->isChecked()) + { + if(m_pWindowConsoleCheck->isChecked())m_pActionData->m_uFlags |= KviAction::WindowConsole; + if(m_pWindowChannelCheck->isChecked())m_pActionData->m_uFlags |= KviAction::WindowChannel; + if(m_pWindowQueryCheck->isChecked())m_pActionData->m_uFlags |= KviAction::WindowQuery; + if(m_pWindowDccChatCheck->isChecked())m_pActionData->m_uFlags |= KviAction::WindowDccChat; + if(m_pActionData->m_uFlags & KviAction::InternalWindowMask) + { + if(m_pConsoleOnlyIfUsersSelectedCheck->isChecked() || + m_pChannelOnlyIfUsersSelectedCheck->isChecked() || + m_pQueryOnlyIfUsersSelectedCheck->isChecked()) + { + m_pActionData->m_uFlags |= KviAction::WindowOnlyIfUsersSelected; + } + } + } + + unsigned int uOldFlags = m_pActionData->m_uFlags; + m_pActionData->m_uFlags = KviAction::validateFlags(m_pActionData->m_uFlags); + if(m_pActionData->m_uFlags != uOldFlags) + debug("invalid action flags in KviSingleActionEditor::commit(): %d fixed to %d",uOldFlags,m_pActionData->m_uFlags); +} + + +KviActionEditorListView::KviActionEditorListView(QWidget * pParent) +: KviTalListView(pParent) +{ + setSelectionMode(Extended); + int iWidth = visibleWidth(); + if(iWidth < LVI_MINIMUM_CELL_WIDTH)iWidth = LVI_MINIMUM_CELL_WIDTH; + addColumn(__tr2qs("Action"),iWidth); + setSorting(0,true); +} + +KviActionEditorListView::~KviActionEditorListView() +{ +} + +void KviActionEditorListView::resizeEvent(QResizeEvent * e) +{ + KviTalListView::resizeEvent(e); + int iWidth = visibleWidth(); + if(iWidth < LVI_MINIMUM_CELL_WIDTH)iWidth = LVI_MINIMUM_CELL_WIDTH; + setColumnWidth(0,iWidth); +} + + +KviActionEditor::KviActionEditor(QWidget * par) +: QWidget(par) +{ + + QGridLayout * l = new QGridLayout(this,1,1,2,2); + m_pSplitter = new QSplitter(Qt::Horizontal,this); + m_pSplitter->setOpaqueResize(false); + l->addWidget(m_pSplitter,0,0); + + + KviTalVBox * box = new KviTalVBox(m_pSplitter); + m_pListView = new KviActionEditorListView(box); + //m_pListView->setMultiSelection(false); + m_pListView->setShowSortIndicator(true); + m_pListView->setFocusPolicy(Qt::StrongFocus); + connect(m_pListView,SIGNAL(currentChanged(KviTalListViewItem *)),this,SLOT(currentChanged(KviTalListViewItem *))); + + m_pNewActionButton = new QPushButton(__tr2qs("New Action"),box); + connect(m_pNewActionButton,SIGNAL(clicked()),this,SLOT(newAction())); + + m_pDeleteActionsButton = new QPushButton(__tr2qs("Delete Actions"),box); + connect(m_pDeleteActionsButton,SIGNAL(clicked()),this,SLOT(deleteActions())); + + m_pExportActionsButton = new QPushButton(__tr2qs("Export Actions..."),box); + connect(m_pExportActionsButton,SIGNAL(clicked()),this,SLOT(exportActions())); + + box->setSpacing(1); + + m_pSingleActionEditor = new KviSingleActionEditor(m_pSplitter,this); + + KviActionEditorListViewItem * last = 0; + KviActionEditorListViewItem * first = 0; + + KviPointerHashTableIterator it(*(KviActionManager::instance()->actions())); + while(KviAction * a = it.current()) + { + if(a->isKviUserActionNeverOverrideThis()) + { + KviActionData * ad = new KviActionData(a->name(), + ((KviKvsUserAction *)a)->scriptCode(), + ((KviKvsUserAction *)a)->visibleNameCode(), + ((KviKvsUserAction *)a)->descriptionCode(), + a->category() ? a->category()->name() : KviActionManager::categoryGeneric()->name(), + a->bigIconString(), + ((KviKvsUserAction *)a)->smallIconString(), + a->flags(), + a->keySequence(), + 0); + KviActionEditorListViewItem * lvi = new KviActionEditorListViewItem(m_pListView,ad); + ad->m_pItem = lvi; + if(ad->m_szName == g_szLastEditedAction) + last = lvi; + if(!first) + first = lvi; + } + ++it; + } + + if(!last)last = first; // try to sleect the first one then + + if(last) + { + m_pListView->setCurrentItem(last); + currentChanged(last); + } else { + currentChanged(0); + } + +} + +KviActionEditor::~KviActionEditor() +{ +} + +void KviActionEditor::exportActions() +{ + QString szName = QDir::homeDirPath(); + if(!szName.endsWith(QString(KVI_PATH_SEPARATOR)))szName += KVI_PATH_SEPARATOR; + szName += "myactions.kvs"; + + QString szFile; + + if(!KviFileDialog::askForSaveFileName(szFile,__tr2qs("Choose a Filename - KVIrc"),szName,QString::null,true,true,true))return; + + QString szCode; + + KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)m_pListView->firstChild(); + while(it) + { + if(it->isSelected()) + { + KviActionData * a = it->actionData(); + + KviKvsUserAction::exportToKvs(szCode, + a->m_szName, + a->m_szScriptCode, + a->m_szVisibleName, + a->m_szDescription, + a->m_szCategory, + a->m_szBigIcon, + a->m_szSmallIcon, + a->m_uFlags, + a->m_szKeySequence); + } + + it = (KviActionEditorListViewItem *)(it->nextSibling()); + } + + if(!KviFileUtils::writeFile(szFile,szCode)) + { + QMessageBox::warning(this,__tr2qs("Write Failed - KVIrc"),__tr2qs("Unable to write to the actions file."),__tr2qs("OK")); + } +} + +void KviActionEditor::deleteActions() +{ + KviPointerList l; + l.setAutoDelete(false); + + KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)m_pListView->firstChild(); + while(it) + { + if(it->isSelected()) + l.append(it); + + it = (KviActionEditorListViewItem *)(it->nextSibling()); + } + + if(l.isEmpty())return; + + //if(QMessageBox::question(this,__tr2qsf("Confirm Deletion"),__tr2qsf("Do you really want to delete the selected actions ?"),__tr2qsf("Yes"),__tr2qsf("No")) != 0) + // return; + + for(KviActionEditorListViewItem * i = l.first();i;i = l.next()) + { + if(m_pSingleActionEditor->actionData() == i->actionData()) + m_pSingleActionEditor->setActionData(0); + delete i; + } +} + + +QString KviActionEditor::nameForAutomaticAction(const QString &szTemplate) +{ + QString ret; + QString szT = szTemplate; + szT.replace(" ",""); + szT.replace(".","_"); + + int i = 1; + do { + KviQString::sprintf(ret,"%Q%d",&szT,i); + i++; + } while(actionExists(ret)); + + return ret; +} + +void KviActionEditor::newAction() +{ + QString szName = nameForAutomaticAction(__tr2qs("My Action")); + QString szVis = __tr2qs("My Action"); + QString szDes = __tr2qs("Put here a short description of your action"); + + szVis.prepend("$tr(\""); + szVis.append("\")"); + szDes.prepend("$tr(\""); + szDes.append("\")"); + + KviActionData * ad = new KviActionData(szName, + QString::null, + szVis, + szDes, + KviActionManager::categoryGeneric()->name(), + QString::null, + QString::null, + 0, + QString::null, + 0); + + KviActionEditorListViewItem * lvi = new KviActionEditorListViewItem(m_pListView,ad); + ad->m_pItem = lvi; + m_pListView->setCurrentItem(lvi); + currentChanged(lvi); +} + +bool KviActionEditor::actionExists(const QString &szName) +{ + KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)m_pListView->firstChild(); + while(it) + { + if(it->actionData()->m_szName == szName)return true; + it = (KviActionEditorListViewItem *)(it->nextSibling()); + } + return false; +} + + +void KviActionEditor::currentChanged(KviTalListViewItem * i) +{ + if(m_pSingleActionEditor->actionData()) + { + m_pSingleActionEditor->commit(); + m_pSingleActionEditor->actionData()->m_pItem->setupForActionData(); + } + + m_pListView->update(); + + KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)i; + if(!it) + { + m_pSingleActionEditor->setActionData(0); + m_pDeleteActionsButton->setEnabled(false); + m_pExportActionsButton->setEnabled(false); + return; + } + m_pDeleteActionsButton->setEnabled(true); + m_pExportActionsButton->setEnabled(true); + + if(!it->isSelected())m_pListView->setSelected(it,true); + + m_pSingleActionEditor->setActionData(it->actionData()); + g_szLastEditedAction = it->actionData()->m_szName; +} + +void KviActionEditor::commit() +{ + m_pSingleActionEditor->commit(); + + // the hard part: update the actions without destroying them... + + KviActionManager::instance()->killAllKvsUserActions(); + + KviActionEditorListViewItem * it = (KviActionEditorListViewItem *)m_pListView->firstChild(); + while(it) + { + KviKvsUserAction * a = KviKvsUserAction::createInstance( // msvc workaround + KviActionManager::instance(), + it->actionData()->m_szName, + it->actionData()->m_szScriptCode, + it->actionData()->m_szVisibleName, + it->actionData()->m_szDescription, + it->actionData()->m_szCategory, + it->actionData()->m_szBigIcon, + it->actionData()->m_szSmallIcon, + it->actionData()->m_uFlags, + it->actionData()->m_szKeySequence); + + KviActionManager::instance()->registerAction(a); + + it = (KviActionEditorListViewItem *)(it->nextSibling()); + } + + KviCustomToolBarManager::instance()->updateVisibleToolBars(); +} + + +KviActionEditorWindow::KviActionEditorWindow(KviFrame * lpFrm) +: KviWindow(KVI_WINDOW_TYPE_SCRIPTEDITOR,lpFrm,"actioneditor",0) +{ + g_pActionEditorWindow = this; + setFixedCaption(__tr2qs("Action Editor")); + + m_pEditor = new KviActionEditor(this); + + m_pBase = new QWidget(this); + QGridLayout * g = new QGridLayout(m_pBase,1,4,4,4); + + QPushButton * btn = new QPushButton(__tr2qs("OK"),m_pBase); + btn->setMinimumWidth(80); + connect(btn,SIGNAL(clicked()),this,SLOT(okClicked())); + btn->setIconSet(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_ACCEPT))); + g->addWidget(btn,0,1); + + btn = new QPushButton(__tr2qs("Apply"),m_pBase); + btn->setMinimumWidth(80); + connect(btn,SIGNAL(clicked()),this,SLOT(applyClicked())); + btn->setIconSet(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_ACCEPT))); + g->addWidget(btn,0,2); + + btn = new QPushButton(__tr2qs("Cancel"),m_pBase); + btn->setMinimumWidth(80); + connect(btn,SIGNAL(clicked()),this,SLOT(cancelClicked())); + btn->setIconSet(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_DISCARD))); + g->addWidget(btn,0,3); + + g->setColStretch(0,1); + +} + +KviActionEditorWindow::~KviActionEditorWindow() +{ + g_pActionEditorWindow = 0; +} + +void KviActionEditorWindow::okClicked() +{ + m_pEditor->commit(); + close(); +} + +void KviActionEditorWindow::applyClicked() +{ + m_pEditor->commit(); +} + +void KviActionEditorWindow::cancelClicked() +{ + close(); +} + +QPixmap * KviActionEditorWindow::myIconPtr() +{ + return g_pIconManager->getSmallIcon(KVI_SMALLICON_SCRIPTACTION); +} + +void KviActionEditorWindow::resizeEvent(QResizeEvent *e) +{ + int hght = m_pBase->sizeHint().height(); + m_pEditor->setGeometry(0,0,width(),height()- hght); + m_pBase->setGeometry(0,height() - hght,width(),hght); +} + +void KviActionEditorWindow::getConfigGroupName(KviStr &szName) +{ + szName = "actioneditor"; +} + + +void KviActionEditorWindow::saveProperties(KviConfig *cfg) +{ + KviWindow::saveProperties(cfg); + cfg->writeEntry("Splitter",m_pEditor->m_pSplitter->sizes()); +} + +void KviActionEditorWindow::loadProperties(KviConfig *cfg) +{ + int w = width(); + KviWindow::loadProperties(cfg); + KviValueList def; + def.append((w * 25) / 100); + def.append((w * 75) / 100); + m_pEditor->m_pSplitter->setSizes(cfg->readIntListEntry("Splitter",def)); +} diff --git a/src/modules/dcc/broker.cpp b/src/modules/dcc/broker.cpp index 1827011fa..db45e0bf6 100644 --- a/src/modules/dcc/broker.cpp +++ b/src/modules/dcc/broker.cpp @@ -315,7 +315,7 @@ void KviDccBroker::executeChat(KviDccBox *box,KviDccDescriptor * dcc) szSubProto.toLower(); QString tmp = QString("dcc: %1 %2@%3:%4").arg(szSubProto.ptr()).arg(dcc->szNick).arg(dcc->szIp).arg(dcc->szPort); - KviDccChat * chat = new KviDccChat(dcc->console()->frame(),dcc,tmp.utf8().data()); + KviDccChat * chat = new KviDccChat(dcc->console()->frame(),dcc,tmp.toUtf8().data()); bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : \ (KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat) || \ @@ -365,7 +365,7 @@ void KviDccBroker::activeVoiceExecute(KviDccBox *box,KviDccDescriptor * dcc) dcc->setConsole(g_pApp->activeConsole()); } - KviStr tmp(KviStr::Format,"dcc: voice %s@%s:%s",dcc->szNick.utf8().data(),dcc->szIp.utf8().data(),dcc->szPort.utf8().data()); + KviStr tmp(KviStr::Format,"dcc: voice %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data()); KviDccVoice * v = new KviDccVoice(dcc->console()->frame(),dcc,tmp.ptr()); bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : \ @@ -385,7 +385,7 @@ void KviDccBroker::activeVoiceExecute(KviDccBox *box,KviDccDescriptor * dcc) void KviDccBroker::passiveVoiceExecute(KviDccDescriptor * dcc) { - KviStr tmp(KviStr::Format,"dcc: voice %s@%s:%s",dcc->szNick.utf8().data(),dcc->szIp.utf8().data(),dcc->szPort.utf8().data()); + KviStr tmp(KviStr::Format,"dcc: voice %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data()); KviDccVoice * v = new KviDccVoice(dcc->console()->frame(),dcc,tmp.ptr()); //#warning "Create minimized dcc voice ?... or maybe it's too much ? :)" bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat); @@ -437,7 +437,7 @@ void KviDccBroker::activeCanvasExecute(KviDccBox *box,KviDccDescriptor * dcc) dcc->setConsole(g_pApp->activeConsole()); } - KviStr tmp(KviStr::Format,"dcc: canvas %s@%s:%s",dcc->szNick.utf8().data(),dcc->szIp.utf8().data(),dcc->szPort.utf8().data()); + KviStr tmp(KviStr::Format,"dcc: canvas %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data()); KviDccCanvas * cnv = new KviDccCanvas(dcc->console()->frame(),dcc,tmp.ptr()); //#warning "This option should be dedicated to Dcc Canvas!....for now we are using the DccChat options" @@ -458,7 +458,7 @@ void KviDccBroker::activeCanvasExecute(KviDccBox *box,KviDccDescriptor * dcc) #ifdef COMPILE_DCC_CANVAS void KviDccBroker::passiveCanvasExecute(KviDccDescriptor * dcc) { - KviStr tmp(KviStr::Format,"dcc: canvas %s@%s:%s",dcc->szNick.utf8().data(),dcc->szIp.utf8().data(),dcc->szPort.utf8().data()); + KviStr tmp(KviStr::Format,"dcc: canvas %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data()); KviDccCanvas * cnv = new KviDccCanvas(dcc->console()->frame(),dcc,tmp.ptr()); //#warning "This option should be dedicated to Dcc Canvas!....for now we are using the DccChat options" bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat); @@ -571,7 +571,7 @@ void KviDccBroker::chooseSaveFileName(KviDccBox *box,KviDccDescriptor *dcc) if(KVI_OPTION_BOOL(KviOption_boolUseIncomingDccMediaTypeSavePath)) { g_pMediaManager->lock(); - if(KviMediaType * mt = g_pMediaManager->findMediaType(dcc->szFileName.utf8().data(),false)) + if(KviMediaType * mt = g_pMediaManager->findMediaType(dcc->szFileName.toUtf8().data(),false)) { if(mt->szSavePath.hasData()) { @@ -693,7 +693,7 @@ void KviDccBroker::renameOverwriteResume(KviDccBox *box,KviDccDescriptor * dcc) if(KVI_OPTION_BOOL(KviOption_boolAutoResumeDccSendWhenAutoAccepted) && (iRemoteSize > -1) && // only if the remote size is really known (iRemoteSize > ((int)(fi.size()))) && // only if the remote size is larger than the local size - (!KviDccFileTransfer::nonFailedTransferWithLocalFileName(dcc->szLocalFileName.utf8().data()))) // only if there is no transfer with this local file name yet + (!KviDccFileTransfer::nonFailedTransferWithLocalFileName(dcc->szLocalFileName.toUtf8().data()))) // only if there is no transfer with this local file name yet { // yep, auto resume... dcc->bResume = true; diff --git a/src/modules/dcc/canvas.cpp b/src/modules/dcc/canvas.cpp index b89b25a87..033ba2ee5 100644 --- a/src/modules/dcc/canvas.cpp +++ b/src/modules/dcc/canvas.cpp @@ -86,12 +86,12 @@ if(dcc->bSendRequest) { QString ip = !dcc->szFakeIp.isEmpty() ? dcc->szFakeIp : dcc->szListenIp; - QString port = !dcc->szFakePort.isEmpty() ? dcc->szFakePort.utf8().data() : m_pMarshal->localPort(); + QString port = !dcc->szFakePort.isEmpty() ? dcc->szFakePort.toUtf8().data() : m_pMarshal->localPort(); //#warning "OPTION FOR SENDING 127.0.0.1 and so on (not an unsigned number)" struct in_addr a; - if(kvi_stringIpToBinaryIp(ip.utf8().data(),&a))ip.setNum(htonl(a.s_addr)); + if(kvi_stringIpToBinaryIp(ip.toUtf8().data(),&a))ip.setNum(htonl(a.s_addr)); dcc->console()->connection()->sendFmtData("PRIVMSG %s :%cDCC CANVAS chat %Q %Q%c", - dcc->console()->connection()->encodeText( dcc->szNick.utf8().data() ).data(), + dcc->console()->connection()->encodeText( dcc->szNick.toUtf8().data() ).data(), 0x01,&ip, &port, 0x01); @@ -102,7 +102,7 @@ } else { // ACTIVE CONNECTION outputNoFmt(KVI_OUT_DCCMSG,__tr2qs_ctx("Attempting an active DCC CANVAS connection","dcc")); - int ret = m_pMarshal->dccConnect(dcc->szIp.utf8().data(),dcc->szPort.utf8().data(),m_pDescriptor->bDoTimeout); + int ret = m_pMarshal->dccConnect(dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data(),m_pDescriptor->bDoTimeout); if(ret != KviError_success)handleMarshalError(ret); else output(KVI_OUT_DCCMSG,__tr2qs_ctx("Contacting host %Q on port %Q","dcc"),&(dcc->szIp),&(dcc->szPort)); } @@ -128,14 +128,14 @@ { // This may change on the fly... m_szTarget.sprintf("%s@%s:%s", - m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data()); + m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data()); return m_szTarget; } void KviDccCanvas::fillCaptionBuffers() { KviStr tmp(KviStr::Format,"DCC Canvas %s@%s:%s", - m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data()); + m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data()); m_szPlainTextCaption = tmp; @@ -152,7 +152,7 @@ void KviDccCanvas::getBaseLogFileName(KviStr &buffer) { - buffer.sprintf("%s_%s_%s",m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data()); + buffer.sprintf("%s_%s_%s",m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data()); } void KviDccCanvas::ownMessage(const char * text) @@ -160,8 +160,8 @@ KviStr buf(KviStr::Format,"%s\r\n",text); // m_pSlaveThread->sendRawData(buf.ptr(),buf.len()); m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG, - m_pDescriptor->szLocalNick.utf8().data(),m_pDescriptor->szLocalUser.utf8().data(), - m_pDescriptor->szLocalHost.utf8().data(),text); + m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(), + m_pDescriptor->szLocalHost.toUtf8().data(),text); } void KviDccCanvas::ownAction(const char * text) diff --git a/src/modules/dcc/canvaswidget.cpp b/src/modules/dcc/canvaswidget.cpp index e598f04bf..223a7989a 100644 --- a/src/modules/dcc/canvaswidget.cpp +++ b/src/modules/dcc/canvaswidget.cpp @@ -1438,7 +1438,7 @@ for(QMap::ConstIterator iter = m->begin();iter != m->end();++iter) { - item = new QTableItem(this,QTableItem::Never,iter.key().utf8().data()); + item = new QTableItem(this,QTableItem::Never,iter.key().toUtf8().data()); setItem(idx,0,item); item = new KviVariantTableItem(this,iter.data()); setItem(idx,1,item); diff --git a/src/modules/dcc/chat.cpp b/src/modules/dcc/chat.cpp index 5bd2b26ca..6e16bed5b 100644 --- a/src/modules/dcc/chat.cpp +++ b/src/modules/dcc/chat.cpp @@ -153,7 +153,7 @@ void KviDccChat::startConnection() if(!(m_pDescriptor->bActive)) { // PASSIVE CONNECTION - output(KVI_OUT_DCCMSG,__tr2qs_ctx("Attempting a passive DCC %s connection","dcc"),m_pDescriptor->szType.utf8().data()); + output(KVI_OUT_DCCMSG,__tr2qs_ctx("Attempting a passive DCC %s connection","dcc"),m_pDescriptor->szType.toUtf8().data()); #ifdef COMPILE_SSL_SUPPORT int ret = m_pMarshal->dccListen(m_pDescriptor->szListenIp,m_pDescriptor->szListenPort,m_pDescriptor->bDoTimeout,m_pDescriptor->bIsSSL); #else @@ -162,11 +162,11 @@ void KviDccChat::startConnection() if(ret != KviError_success)handleMarshalError(ret); } else { // ACTIVE CONNECTION - output(KVI_OUT_DCCMSG,__tr2qs_ctx("Attempting an active DCC %s connection","dcc"),m_pDescriptor->szType.utf8().data()); + output(KVI_OUT_DCCMSG,__tr2qs_ctx("Attempting an active DCC %s connection","dcc"),m_pDescriptor->szType.toUtf8().data()); #ifdef COMPILE_SSL_SUPPORT - int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data(),m_pDescriptor->bDoTimeout,m_pDescriptor->bIsSSL); + int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data(),m_pDescriptor->bDoTimeout,m_pDescriptor->bIsSSL); #else - int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data(),m_pDescriptor->bDoTimeout); + int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data(),m_pDescriptor->bDoTimeout); #endif if(ret != KviError_success)handleMarshalError(ret); } @@ -196,7 +196,7 @@ void KviDccChat::connectionInProgress() // try to get the IP that the IRC server can see if(m_pDescriptor->console()) { - KviStr tmp = m_pDescriptor->console()->connection() ? m_pDescriptor->console()->connection()->userInfo()->hostIp().utf8().data() : ""; + KviStr tmp = m_pDescriptor->console()->connection() ? m_pDescriptor->console()->connection()->userInfo()->hostIp().toUtf8().data() : ""; if(tmp.hasData()) { ip = tmp; @@ -275,9 +275,9 @@ void KviDccChat::fillCaptionBuffers() m_szPlainTextCaption = tmp; m_szHtmlActiveCaption.sprintf("%s", - KVI_OPTION_COLOR(KviOption_colorCaptionTextActive).name().ascii(),tmp.utf8().data()); + KVI_OPTION_COLOR(KviOption_colorCaptionTextActive).name().ascii(),tmp.toUtf8().data()); m_szHtmlInactiveCaption.sprintf("%s", - KVI_OPTION_COLOR(KviOption_colorCaptionTextInactive).name().ascii(),tmp.utf8().data()); + KVI_OPTION_COLOR(KviOption_colorCaptionTextInactive).name().ascii(),tmp.toUtf8().data()); } QPixmap * KviDccChat::myIconPtr() @@ -287,7 +287,7 @@ QPixmap * KviDccChat::myIconPtr() void KviDccChat::getBaseLogFileName(KviStr &buffer) { - buffer.sprintf("%s_%s_%s",m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data()); + buffer.sprintf("%s_%s_%s",m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data()); } void KviDccChat::ownMessage(const QString &text) @@ -318,8 +318,8 @@ void KviDccChat::ownMessage(const QString &text) KviStr buf(KviStr::Format,"%s\r\n",encrypted.ptr()); m_pSlaveThread->sendRawData(buf.ptr(),buf.len()); m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSGCRYPTED, - m_pDescriptor->szLocalNick.utf8().data(),m_pDescriptor->szLocalUser.utf8().data(), - m_pDescriptor->szLocalHost.utf8().data(),text,KviConsole::NoNotifications); + m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(), + m_pDescriptor->szLocalHost.toUtf8().data(),text,KviConsole::NoNotifications); } break; case KviCryptEngine::Encoded: @@ -328,8 +328,8 @@ void KviDccChat::ownMessage(const QString &text) m_pSlaveThread->sendRawData(buf.ptr(),buf.len()); QString encr = decodeText(encrypted.ptr()); m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG, - m_pDescriptor->szLocalNick.utf8().data(),m_pDescriptor->szLocalUser.utf8().data(), - m_pDescriptor->szLocalHost.utf8().data(),encr,KviConsole::NoNotifications); + m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(), + m_pDescriptor->szLocalHost.toUtf8().data(),encr,KviConsole::NoNotifications); } break; default: // also case KviCryptEngine::EncryptError @@ -348,8 +348,8 @@ void KviDccChat::ownMessage(const QString &text) QString tmp = text.right(text.length() - 1); m_pSlaveThread->sendRawData(buf.ptr(),buf.len()); m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG, - m_pDescriptor->szLocalNick.utf8().data(),m_pDescriptor->szLocalUser.utf8().data(), - m_pDescriptor->szLocalHost.utf8().data(),tmp,KviConsole::NoNotifications); + m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(), + m_pDescriptor->szLocalHost.toUtf8().data(),tmp,KviConsole::NoNotifications); return; } } @@ -358,8 +358,8 @@ void KviDccChat::ownMessage(const QString &text) KviStr buf(KviStr::Format,"%s\r\n",d); m_pSlaveThread->sendRawData(buf.ptr(),buf.len()); m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG, - m_pDescriptor->szLocalNick.utf8().data(),m_pDescriptor->szLocalUser.utf8().data(), - m_pDescriptor->szLocalHost.utf8().data(),text,KviConsole::NoNotifications); + m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(), + m_pDescriptor->szLocalHost.toUtf8().data(),text,KviConsole::NoNotifications); } const QString & KviDccChat::localNick() @@ -428,8 +428,8 @@ bool KviDccChat::event(QEvent *e) if(!KVS_TRIGGER_EVENT_2_HALTED(KviEvent_OnDCCChatMessage,this,QString(decryptedStuff.ptr()),m_pDescriptor->idString())) { m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_DCCCHATMSG, - m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szUser.utf8().data(), - m_pDescriptor->szHost.utf8().data(),decryptedStuff.ptr()); + m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szUser.toUtf8().data(), + m_pDescriptor->szHost.toUtf8().data(),decryptedStuff.ptr()); } delete encoded; return true; @@ -450,8 +450,8 @@ bool KviDccChat::event(QEvent *e) // FIXME! if(!KVS_TRIGGER_EVENT_2_HALTED(KviEvent_OnDCCChatMessage,this,QString(d.ptr()),m_pDescriptor->idString())) m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_DCCCHATMSG, - m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szUser.utf8().data(), - m_pDescriptor->szHost.utf8().data(),d.ptr()); + m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szUser.toUtf8().data(), + m_pDescriptor->szHost.toUtf8().data(),d.ptr()); #ifdef COMPILE_CRYPT_SUPPORT } #endif diff --git a/src/modules/dcc/requests.cpp b/src/modules/dcc/requests.cpp index 080aa9a7a..f72dfab39 100644 --- a/src/modules/dcc/requests.cpp +++ b/src/modules/dcc/requests.cpp @@ -788,7 +788,7 @@ static void dccModuleParseDccRSend(KviDccRequest *dcc) d->bNoAcks = d->bIsTdcc; d->bOverrideMinimize = false; d->bAutoAccept = KVI_OPTION_BOOL(KviOption_boolAutoAcceptDccSend); - d->bIsIncomingAvatar = g_pApp->findPendingAvatarChange(dcc->pConsole,d->szNick.utf8().data(),d->szFileName.utf8().data()); + d->bIsIncomingAvatar = g_pApp->findPendingAvatarChange(dcc->pConsole,d->szNick.toUtf8().data(),d->szFileName.toUtf8().data()); if(KVI_OPTION_BOOL(KviOption_boolDccSendFakeAddressByDefault)) { diff --git a/src/modules/dcc/send.cpp b/src/modules/dcc/send.cpp index 8a4401c88..1c883e24a 100644 --- a/src/modules/dcc/send.cpp +++ b/src/modules/dcc/send.cpp @@ -823,23 +823,23 @@ void KviDccFileTransfer::startConnection() if(m_pDescriptor->bResume && m_pDescriptor->bRecvFile) { QString fName; - KviServerParser::encodeCtcpParameter(m_pDescriptor->szFileName.utf8().data(),fName); + KviServerParser::encodeCtcpParameter(m_pDescriptor->szFileName.toUtf8().data(),fName); if(m_pDescriptor->isZeroPortRequest()) { m_pDescriptor->console()->connection()->sendFmtData("PRIVMSG %s :%cDCC RESUME %s %s %s %s%c", m_pDescriptor->console()->connection()->encodeText(m_pDescriptor->szNick).data(), 0x01, m_pDescriptor->console()->connection()->encodeText(fName).data(), - m_pDescriptor->szPort.utf8().data(), - m_pDescriptor->szLocalFileSize.utf8().data(), + m_pDescriptor->szPort.toUtf8().data(), + m_pDescriptor->szLocalFileSize.toUtf8().data(), m_pDescriptor->zeroPortRequestTag(),0x01); } else { m_pDescriptor->console()->connection()->sendFmtData("PRIVMSG %s :%cDCC RESUME %s %s %s%c", m_pDescriptor->console()->connection()->encodeText(m_pDescriptor->szNick).data(), 0x01, m_pDescriptor->console()->connection()->encodeText(fName).data(), - m_pDescriptor->szPort.utf8().data(), - m_pDescriptor->szLocalFileSize.utf8().data(),0x01); + m_pDescriptor->szPort.toUtf8().data(), + m_pDescriptor->szLocalFileSize.toUtf8().data(),0x01); } m_szStatusString = __tr2qs_ctx("Sent DCC RESUME request to %1, waiting for ACCEPT","dcc").arg(m_pDescriptor->szNick); outputAndLog(m_szStatusString); @@ -867,7 +867,7 @@ void KviDccFileTransfer::listenOrConnect() int ret = m_pMarshal->dccListen(m_pDescriptor->szListenIp,m_pDescriptor->szListenPort,m_pDescriptor->bDoTimeout); if(ret != KviError_success)handleMarshalError(ret); } else { - int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data(),m_pDescriptor->bDoTimeout); + int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data(),m_pDescriptor->bDoTimeout); if(ret != KviError_success)handleMarshalError(ret); } @@ -891,7 +891,7 @@ KviWindow * KviDccFileTransfer::dccMarshalOutputWindow() const char * KviDccFileTransfer::dccMarshalOutputContextString() { - return m_szTransferIdString.utf8().data(); + return m_szTransferIdString.toUtf8().data(); } void KviDccFileTransfer::die() @@ -911,7 +911,7 @@ void KviDccFileTransfer::abort() if(m_pMarshal)m_pMarshal->abort(); if(m_pDescriptor->bRecvFile) - g_pApp->fileDownloadTerminated(false,m_pDescriptor->szFileName.utf8().data(),m_pDescriptor->szLocalFileName.utf8().data(),m_pDescriptor->szNick.utf8().data(),__tr_ctx("Aborted","dcc")); + g_pApp->fileDownloadTerminated(false,m_pDescriptor->szFileName.toUtf8().data(),m_pDescriptor->szLocalFileName.toUtf8().data(),m_pDescriptor->szNick.toUtf8().data(),__tr_ctx("Aborted","dcc")); KviStr tmp; @@ -1144,15 +1144,15 @@ void KviDccFileTransfer::displayPaint(QPainter * p,int column,int width,int heig p->setPen(Qt::black); - KviStr szRemote(KviStr::Format,"dcc://%s@%s:%s/%s",m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data(), - m_pDescriptor->szFileName.utf8().data()); + KviStr szRemote(KviStr::Format,"dcc://%s@%s:%s/%s",m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data(), + m_pDescriptor->szFileName.toUtf8().data()); p->drawText(4 + daW1,iY,width - (8 + daW1),height - 8,Qt::AlignTop | Qt::AlignLeft, - m_pDescriptor->bRecvFile ? szRemote.ptr() : m_pDescriptor->szLocalFileName.utf8().data()); + m_pDescriptor->bRecvFile ? szRemote.ptr() : m_pDescriptor->szLocalFileName.toUtf8().data()); iY += iLineSpacing; p->drawText(4 + daW1,iY,width - (8 + daW1),height - 8,Qt::AlignTop | Qt::AlignLeft, - m_pDescriptor->bRecvFile ? m_pDescriptor->szLocalFileName.utf8().data() : szRemote.ptr()); + m_pDescriptor->bRecvFile ? m_pDescriptor->szLocalFileName.toUtf8().data() : szRemote.ptr()); iY += iLineSpacing; @@ -1531,7 +1531,7 @@ void KviDccFileTransfer::connectionInProgress() if(KVI_OPTION_BOOL(KviOption_boolDCCFileTransferReplaceOutgoingSpacesWithUnderscores)) tmp.replace(" ","_"); - KviServerParser::encodeCtcpParameter(tmp.utf8().data(),fName); + KviServerParser::encodeCtcpParameter(tmp.toUtf8().data(),fName); // Zero port requests want DCC SEND as back-request KviStr szReq; @@ -1543,8 +1543,8 @@ void KviDccFileTransfer::connectionInProgress() 0x01, m_pDescriptor->console()->connection()->encodeText(szReq.ptr()).data(), m_pDescriptor->console()->connection()->encodeText(fName).data(), - ip.utf8().data(),port.ptr(), - m_pDescriptor->szFileSize.utf8().data(),m_pDescriptor->zeroPortRequestTag(),0x01); + ip.toUtf8().data(),port.ptr(), + m_pDescriptor->szFileSize.toUtf8().data(),m_pDescriptor->zeroPortRequestTag(),0x01); } else { szReq = m_szDccType; m_pDescriptor->console()->connection()->sendFmtData("PRIVMSG %s :%cDCC %s %s %s %s %Q%c", @@ -1552,7 +1552,7 @@ void KviDccFileTransfer::connectionInProgress() 0x01, m_pDescriptor->console()->connection()->encodeText(szReq.ptr()).data(), m_pDescriptor->console()->connection()->encodeText(fName).data(), - ip.utf8().data(),port.ptr(), + ip.toUtf8().data(),port.ptr(), &(m_pDescriptor->szLocalFileSize),0x01); } outputAndLog(__tr2qs_ctx("Sent DCC %1 request to %2, waiting for remote client to connect...","dcc").arg(szReq.ptr()).arg(m_pDescriptor->szNick)); @@ -1592,7 +1592,7 @@ bool KviDccFileTransfer::event(QEvent *e) QString szErrorString = KviError::getDescription(*err); delete err; if(m_pDescriptor->bRecvFile) - g_pApp->fileDownloadTerminated(false,m_pDescriptor->szFileName.utf8().data(),m_pDescriptor->szLocalFileName.utf8().data(),m_pDescriptor->szNick.utf8().data(),szErrorString.utf8().data()); + g_pApp->fileDownloadTerminated(false,m_pDescriptor->szFileName.toUtf8().data(),m_pDescriptor->szLocalFileName.toUtf8().data(),m_pDescriptor->szNick.toUtf8().data(),szErrorString.toUtf8().data()); m_szStatusString = __tr2qs_ctx("Transfer failed: ","dcc"); m_szStatusString += szErrorString; @@ -1633,7 +1633,7 @@ bool KviDccFileTransfer::event(QEvent *e) g_pApp->notifierMessage(0,KVI_SMALLICON_DCCMSG,szMsg,30); } */ - if(m_pDescriptor->bRecvFile)g_pApp->fileDownloadTerminated(true,m_pDescriptor->szFileName.utf8().data(),m_pDescriptor->szLocalFileName.utf8().data(),m_pDescriptor->szNick.utf8().data()); + if(m_pDescriptor->bRecvFile)g_pApp->fileDownloadTerminated(true,m_pDescriptor->szFileName.toUtf8().data(),m_pDescriptor->szLocalFileName.toUtf8().data(),m_pDescriptor->szNick.toUtf8().data()); m_szStatusString = __tr2qs_ctx("Transfer completed","dcc"); outputAndLog(m_szStatusString); m_eGeneralStatus = Success; @@ -1696,7 +1696,7 @@ void KviDccFileTransfer::connected() if(m_pDescriptor->bRecvFile) { KviDccRecvThreadOptions * o = new KviDccRecvThreadOptions; - o->szFileName = m_pDescriptor->szLocalFileName.utf8().data(); + o->szFileName = m_pDescriptor->szLocalFileName.toUtf8().data(); bool bOk; o->iTotalFileSize = m_pDescriptor->szFileSize.toInt(&bOk); if(!bOk)o->iTotalFileSize = -1; @@ -1710,7 +1710,7 @@ void KviDccFileTransfer::connected() m_pSlaveRecvThread->start(); } else { KviDccSendThreadOptions * o = new KviDccSendThreadOptions; - o->szFileName = m_pDescriptor->szLocalFileName.utf8().data(); + o->szFileName = m_pDescriptor->szLocalFileName.toUtf8().data(); o->bFastSend = KVI_OPTION_BOOL(KviOption_boolUseFastDccSend); o->iIdleStepLengthInMSec = KVI_OPTION_BOOL(KviOption_boolDccSendForceIdleStep) ? KVI_OPTION_UINT(KviOption_uintDccSendIdleStepInMSec) : 0; bool bOk; @@ -1736,10 +1736,10 @@ void KviDccFileTransfer::connected() bool KviDccFileTransfer::resumeAccepted(const char *filename,const char *port,const char *szZeroPortTag) { - if(!(kvi_strEqualCI(filename,m_pDescriptor->szFileName.utf8().data()) || KVI_OPTION_BOOL(KviOption_boolAcceptBrokenFileNameDccResumeRequests))) + if(!(kvi_strEqualCI(filename,m_pDescriptor->szFileName.toUtf8().data()) || KVI_OPTION_BOOL(KviOption_boolAcceptBrokenFileNameDccResumeRequests))) return false; - if(!(kvi_strEqualCI(port,m_pDescriptor->szPort.utf8().data()) && + if(!(kvi_strEqualCI(port,m_pDescriptor->szPort.toUtf8().data()) && (!m_pSlaveRecvThread) && m_pDescriptor->bResume && m_pDescriptor->bRecvFile && m_pResumeTimer)) return false; @@ -1757,8 +1757,8 @@ bool KviDccFileTransfer::resumeAccepted(const char *filename,const char *port,co listenOrConnect(); /* - int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.utf8().data(), - m_pDescriptor->szPort.utf8().data(),m_pDescriptor->bDoTimeout); + int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.toUtf8().data(), + m_pDescriptor->szPort.toUtf8().data(),m_pDescriptor->bDoTimeout); if(ret != KviError_success)handleMarshalError(ret); else { diff --git a/src/modules/dcc/utils.cpp b/src/modules/dcc/utils.cpp index 84c9af0c2..acec18073 100644 --- a/src/modules/dcc/utils.cpp +++ b/src/modules/dcc/utils.cpp @@ -43,7 +43,7 @@ bool dcc_module_get_listen_ip_address(KviCommand *c,KviConsole * pConsole,QStrin KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).stripWhiteSpace(); if(!KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).isEmpty()) { - if(kvi_isValidStringIp(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data())) + if(kvi_isValidStringIp(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data())) { if(KviQString::equalCI(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface),"0.0.0.0")) { @@ -51,7 +51,7 @@ bool dcc_module_get_listen_ip_address(KviCommand *c,KviConsole * pConsole,QStrin if(!kvi_getLocalHostAddress(szListenIp)) { if(c)c->warning(__tr2qs_ctx("Can't retrieve a suitable local IPV4 address","dcc"), - KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data()); + KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data()); return false; } } else { @@ -60,16 +60,16 @@ bool dcc_module_get_listen_ip_address(KviCommand *c,KviConsole * pConsole,QStrin return true; } #ifdef COMPILE_IPV6_SUPPORT - if(kvi_isValidStringIp_V6(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data())) + if(kvi_isValidStringIp_V6(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data())) { szListenIp = KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface); } else { #endif - if(!kvi_getInterfaceAddress(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data(),szListenIp)) + if(!kvi_getInterfaceAddress(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data(),szListenIp)) { KVI_OPTION_BOOL(KviOption_boolDccListenOnSpecifiedInterfaceByDefault) = false; if(c)c->warning(__tr2qs_ctx("Can't listen on default interface '%s': fix it in the options dialog, disabling the option (so the next dcc will work)","dcc"), - KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data()); + KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data()); return false; } #ifdef COMPILE_IPV6_SUPPORT @@ -111,7 +111,7 @@ bool dcc_kvs_get_listen_ip_address(KviKvsModuleCommandCall *c,KviConsole * pCons KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).stripWhiteSpace(); if(!KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).isEmpty()) { - if(kvi_isValidStringIp(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data())) + if(kvi_isValidStringIp(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data())) { if(KviQString::equalCI(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface),"0.0.0.0")) { @@ -119,7 +119,7 @@ bool dcc_kvs_get_listen_ip_address(KviKvsModuleCommandCall *c,KviConsole * pCons if(!kvi_getLocalHostAddress(szListenIp)) { if(c)c->warning(__tr2qs_ctx("Can't retrieve a suitable local IPV4 address","dcc"), - KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data()); + KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data()); return false; } } else { @@ -128,16 +128,16 @@ bool dcc_kvs_get_listen_ip_address(KviKvsModuleCommandCall *c,KviConsole * pCons return true; } #ifdef COMPILE_IPV6_SUPPORT - if(kvi_isValidStringIp_V6(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data())) + if(kvi_isValidStringIp_V6(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data())) { szListenIp = KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface); } else { #endif - if(!kvi_getInterfaceAddress(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data(),szListenIp)) + if(!kvi_getInterfaceAddress(KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data(),szListenIp)) { KVI_OPTION_BOOL(KviOption_boolDccListenOnSpecifiedInterfaceByDefault) = false; if(c)c->warning(__tr2qs_ctx("Can't listen on default interface '%s': fix it in the options dialog, disabling the option (so the next dcc will work)","dcc"), - KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).utf8().data()); + KVI_OPTION_STRING(KviOption_stringDccListenDefaultInterface).toUtf8().data()); return false; } #ifdef COMPILE_IPV6_SUPPORT diff --git a/src/modules/dcc/voice.cpp b/src/modules/dcc/voice.cpp index 96ab3dd54..d92908953 100644 --- a/src/modules/dcc/voice.cpp +++ b/src/modules/dcc/voice.cpp @@ -734,7 +734,7 @@ void KviDccVoice::startConnection() } else { // ACTIVE CONNECTION output(KVI_OUT_DCCMSG,__tr2qs_ctx("Attempting an active DCC VOICE connection","dcc")); - int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data(),m_pDescriptor->bDoTimeout); + int ret = m_pMarshal->dccConnect(m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data(),m_pDescriptor->bDoTimeout); if(ret != KviError_success)handleMarshalError(ret); } } @@ -771,20 +771,20 @@ const QString & KviDccVoice::target() { // This may change on the fly... m_szTarget.sprintf("%s@%s:%s", - m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data()); + m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data()); return m_szTarget; } void KviDccVoice::getBaseLogFileName(KviStr &buffer) { - buffer.sprintf("dccvoice_%s_%s_%s",m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szLocalFileName.utf8().data(),m_pDescriptor->szPort.utf8().data()); + buffer.sprintf("dccvoice_%s_%s_%s",m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szLocalFileName.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data()); } void KviDccVoice::fillCaptionBuffers() { KviStr tmp(KviStr::Format,"DCC Voice %s@%s:%s %s", - m_pDescriptor->szNick.utf8().data(),m_pDescriptor->szIp.utf8().data(),m_pDescriptor->szPort.utf8().data(), - m_pDescriptor->szLocalFileName.utf8().data()); + m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szIp.toUtf8().data(),m_pDescriptor->szPort.toUtf8().data(), + m_pDescriptor->szLocalFileName.toUtf8().data()); m_szPlainTextCaption = tmp; @@ -926,7 +926,7 @@ void KviDccVoice::connected() opt->bForceHalfDuplex = KVI_OPTION_BOOL(KviOption_boolDccVoiceForceHalfDuplex); // opt->bForceDummyReadTrigger = false; opt->iPreBufferSize = KVI_OPTION_UINT(KviOption_uintDccVoicePreBufferSize); - opt->szSoundDevice = KVI_OPTION_STRING(KviOption_stringDccVoiceSoundDevice).utf8().data(); + opt->szSoundDevice = KVI_OPTION_STRING(KviOption_stringDccVoiceSoundDevice).toUtf8().data(); opt->iSampleRate = m_pDescriptor->iSampleRate; m_pSlaveThread = new KviDccVoiceThread(this,m_pMarshal->releaseSocket(),opt); @@ -964,7 +964,7 @@ int KviDccVoice::getMixerVolume(void) const int left; //, right; int req; - if((fd = ::open(KVI_OPTION_STRING(KviOption_stringDccVoiceMixerDevice).utf8().data(), O_RDONLY)) == -1) + if((fd = ::open(KVI_OPTION_STRING(KviOption_stringDccVoiceMixerDevice).toUtf8().data(), O_RDONLY)) == -1) { return 0; } @@ -995,7 +995,7 @@ void KviDccVoice::setMixerVolume(int vol) int val; int req; - if((fd = ::open(KVI_OPTION_STRING(KviOption_stringDccVoiceMixerDevice).utf8().data(), O_WRONLY)) == -1) + if((fd = ::open(KVI_OPTION_STRING(KviOption_stringDccVoiceMixerDevice).toUtf8().data(), O_WRONLY)) == -1) return; req = KVI_OPTION_BOOL(KviOption_boolDccVoiceVolumeSliderControlsPCM) ? SOUND_MIXER_WRITE_PCM : SOUND_MIXER_WRITE_VOLUME; diff --git a/src/modules/editor/scripteditor.cpp b/src/modules/editor/scripteditor.cpp index 44703c79b..b431b731f 100644 --- a/src/modules/editor/scripteditor.cpp +++ b/src/modules/editor/scripteditor.cpp @@ -452,7 +452,7 @@ bool KviScriptEditorWidget::contextSensitiveHelp() const void KviScriptEditorWidget::getWordOnCursor(QString &buffer,int index) const { QRegExp re("[ \t=,\\(\\)\"}{\\[\\]\r\n+-*><;@!]"); - //debug("BUFFER IS %s",buffer.utf8().data()); + //debug("BUFFER IS %s",buffer.toUtf8().data()); int start = buffer.findRev(re,index); int end = buffer.find(re,index); @@ -465,7 +465,7 @@ void KviScriptEditorWidget::getWordOnCursor(QString &buffer,int index) const tmp = buffer.mid(start,end-start); } buffer = tmp; - //debug("BUFFER NOW IS %s",buffer.utf8().data()); + //debug("BUFFER NOW IS %s",buffer.toUtf8().data()); } void KviScriptEditorWidget::completition(bool bCanComplete) @@ -953,7 +953,7 @@ void KviScriptEditorImplementation::saveToFile() QString buffer = m_pEditor->text(); //if(tmp.isEmpty())tmp = ""; - //KviStr buffer = tmp.utf8().data(); + //KviStr buffer = tmp.toUtf8().data(); if(!KviFileUtils::writeFile(fName,buffer)) { QString tmp; diff --git a/src/modules/eventeditor/eventeditor.cpp b/src/modules/eventeditor/eventeditor.cpp index e04114122..372bc49f6 100644 --- a/src/modules/eventeditor/eventeditor.cpp +++ b/src/modules/eventeditor/eventeditor.cpp @@ -312,7 +312,7 @@ void KviEventEditor::selectionChanged(KviTalListViewItem * it) KviCommandFormatter::indent(parms); QString tmp; KviQString::sprintf(tmp,__tr2qs("\n\n Event:\n %s\n\n Parameters:\n%s"), - ((KviEventListViewItem *)it)->m_szName.utf8().data(),parms.utf8().data()); + ((KviEventListViewItem *)it)->m_szName.toUtf8().data(),parms.toUtf8().data()); m_pEditor->setText(tmp); } } diff --git a/src/modules/file/libkvifile.cpp b/src/modules/file/libkvifile.cpp index 3d7c88487..4324c2c6e 100644 --- a/src/modules/file/libkvifile.cpp +++ b/src/modules/file/libkvifile.cpp @@ -920,7 +920,7 @@ static bool file_kvs_cmd_writeLines(KviKvsModuleCommandCall * c) { QString szDat; v->asString(szDat); - KviQCString dat = bLocal8Bit ? szDat.local8Bit() : szDat.utf8(); + KviQCString dat = bLocal8Bit ? szDat.toLocal8Bit() : szDat.toUtf8(); } if(!bNoSeparator) { diff --git a/src/modules/filetransferwindow/filetransferwindow.cpp b/src/modules/filetransferwindow/filetransferwindow.cpp index e69405877..d0b2b052b 100644 --- a/src/modules/filetransferwindow/filetransferwindow.cpp +++ b/src/modules/filetransferwindow/filetransferwindow.cpp @@ -462,7 +462,7 @@ void KviFileTransferWindow::openLocalFileTerminal() tmp.append("\""); // FIXME: this is not a solution ...because if the drive isn't system's drive the command 'cd' naturaly doesn't work tmp.prepend("cmd.exe /k cd \""); - system(tmp.local8Bit().data()); + system(tmp.toLocal8Bit().data()); #else //COMPILE_ON_WINDOWS // G&N end #ifdef COMPILE_KDE_SUPPORT @@ -513,7 +513,7 @@ void KviFileTransferWindow::openLocalFile() QString tmp = t->localFileName(); if(tmp.isEmpty())return; tmp.replace("/","\\"); - ShellExecute(0,"open",tmp.local8Bit().data(),NULL,NULL,SW_SHOWNORMAL); //You have to link the shell32.lib + ShellExecute(0,"open",tmp.toLocal8Bit().data(),NULL,NULL,SW_SHOWNORMAL); //You have to link the shell32.lib #else //!COMPILE_ON_WINDOWS // G&N end #ifdef COMPILE_KDE_SUPPORT @@ -549,7 +549,7 @@ void KviFileTransferWindow::openLocalFileWith() if(tmp.isEmpty())return; tmp.replace("/","\\"); tmp.prepend("rundll32.exe shell32.dll,OpenAs_RunDLL "); // this if to show the 'open with...' window - WinExec(tmp.local8Bit().data(),SW_SHOWNORMAL); + WinExec(tmp.toLocal8Bit().data(),SW_SHOWNORMAL); #else //!COMPILE_ON_WINDOWS // G&N end #ifdef COMPILE_KDE_SUPPORT @@ -587,7 +587,7 @@ void KviFileTransferWindow::openLocalFileFolder() tmp=QFileInfo(tmp).dirPath(TRUE); tmp.replace('/','\\'); tmp.prepend("explorer.exe "); - WinExec(tmp.local8Bit().data(), SW_MAXIMIZE); + WinExec(tmp.toLocal8Bit().data(), SW_MAXIMIZE); #else //!COMPILE_ON_WINDOWS // G&N end #ifdef COMPILE_KDE_SUPPORT diff --git a/src/modules/http/httpfiletransfer.cpp b/src/modules/http/httpfiletransfer.cpp index 0d412e202..e61c50514 100644 --- a/src/modules/http/httpfiletransfer.cpp +++ b/src/modules/http/httpfiletransfer.cpp @@ -375,7 +375,7 @@ void KviHttpFileTransfer::requestSent(const QStringList &requestHeaders) for(QStringList::ConstIterator it = requestHeaders.begin();it != requestHeaders.end();++it) { if(!m_bNoOutput) - out->output(KVI_OUT_GENERICSTATUS,"[HTTP %d]: %s",id(),(*it).utf8().data()); + out->output(KVI_OUT_GENERICSTATUS,"[HTTP %d]: %s",id(),(*it).toUtf8().data()); } m_lRequest = requestHeaders; diff --git a/src/modules/ident/libkviident.cpp b/src/modules/ident/libkviident.cpp index 4e4265a88..4e8b40f9a 100644 --- a/src/modules/ident/libkviident.cpp +++ b/src/modules/ident/libkviident.cpp @@ -383,7 +383,7 @@ ipv6_failure: { QString szHost; if(!satmp.getStringAddress(szHost))szHost = "unknown"; - KviIdentRequest * r = new KviIdentRequest(t,szHost.utf8().data(),satmp.port()); + KviIdentRequest * r = new KviIdentRequest(t,szHost.toUtf8().data(),satmp.port()); m_pRequestList->append(r); postMessage(__tr("Identd accepting connection"),r); } @@ -403,7 +403,7 @@ ipv6_failure: { QString szHost; if(!satmp.getStringAddress(szHost))szHost = "unknown"; - KviIdentRequest * r = new KviIdentRequest(t,szHost.utf8().data(),satmp.port()); + KviIdentRequest * r = new KviIdentRequest(t,szHost.toUtf8().data(),satmp.port()); m_pRequestList->append(r); postMessage(__tr("Identd accepting connection"),r); } diff --git a/src/modules/links/linkswindow.cpp b/src/modules/links/linkswindow.cpp index 1da1e3e6e..54e571bc2 100644 --- a/src/modules/links/linkswindow.cpp +++ b/src/modules/links/linkswindow.cpp @@ -121,7 +121,7 @@ void KviLinksWindow::connectionStateChange() m_pRequestButton->setEnabled(st == KviIrcContext::Connected); if(st == KviIrcContext::Connected) { - KviStr tmp(KviStr::Format,__tr2qs("Connected to %s (%s)"),m_pConsole->connection()->currentServerName().utf8().data(),m_pConsole->currentNetworkName().utf8().data()); + KviStr tmp(KviStr::Format,__tr2qs("Connected to %s (%s)"),m_pConsole->connection()->currentServerName().toUtf8().data(),m_pConsole->currentNetworkName().toUtf8().data()); m_pInfoLabel->setText(tmp.ptr()); } else { m_pInfoLabel->setText(__tr2qs("Links cannot be requested: Not connected to a server")); diff --git a/src/modules/list/listwindow.cpp b/src/modules/list/listwindow.cpp index ce91b35f3..04d9b9f1c 100644 --- a/src/modules/list/listwindow.cpp +++ b/src/modules/list/listwindow.cpp @@ -273,8 +273,8 @@ void KviListWindow::connectionStateChange() QString tmp; KviQString::sprintf(tmp, __tr2qs("Connected to %s (%s)"), - m_pConsole->connection()->currentServerName().utf8().data(), - m_pConsole->currentNetworkName().utf8().data()); + m_pConsole->connection()->currentServerName().toUtf8().data(), + m_pConsole->currentNetworkName().toUtf8().data()); m_pInfoLabel->setText(tmp); } else { m_pInfoLabel->setText(__tr2qs("List cannot be requested: Not connected to a server")); diff --git a/src/modules/logview/logviewmdiwindow.cpp b/src/modules/logview/logviewmdiwindow.cpp index 73e9b276d..3d24545ed 100644 --- a/src/modules/logview/logviewmdiwindow.cpp +++ b/src/modules/logview/logviewmdiwindow.cpp @@ -417,7 +417,7 @@ void KviLogFile::getText(QString & text,const QString& logDir){ #ifdef COMPILE_ZLIB_SUPPORT if(m_bCompressed) { - gzFile file=gzopen(logName.local8Bit().data(),"rb"); + gzFile file=gzopen(logName.toLocal8Bit().data(),"rb"); if(file) { char buff[1025]; @@ -434,7 +434,7 @@ void KviLogFile::getText(QString & text,const QString& logDir){ gzclose(file); text = QString::fromUtf8(data); } else { - debug("Cannot open compressed file %s",logName.local8Bit().data()); + debug("Cannot open compressed file %s",logName.toLocal8Bit().data()); } } else { #endif diff --git a/src/modules/mediaplayer/mp_amipinterface.cpp b/src/modules/mediaplayer/mp_amipinterface.cpp index a97532f5c..35f0589b0 100644 --- a/src/modules/mediaplayer/mp_amipinterface.cpp +++ b/src/modules/mediaplayer/mp_amipinterface.cpp @@ -377,7 +377,7 @@ bool KviAmipInterface::amipExec(const QString &cmd) { if(!amip_dll) return false; QTextCodec *c=mediaplayer_get_codec(); - KviStr szCmd = c ? c->fromUnicode(cmd) : cmd.utf8(); + KviStr szCmd = c ? c->fromUnicode(cmd) : cmd.toUtf8(); return (ac_exec(szCmd) == AC_ERR_NOERROR); } @@ -386,7 +386,7 @@ QString KviAmipInterface::amipEval(const QString &cmd) QString ret; if(!amip_dll) return ret; QTextCodec *c=mediaplayer_get_codec(); - KviStr szCmd = c ? c->fromUnicode(cmd) : cmd.utf8(); + KviStr szCmd = c ? c->fromUnicode(cmd) : cmd.toUtf8(); char buff[AC_BUFFER_SIZE]; if((ac_eval(szCmd, buff) == AC_ERR_NOERROR)) { QString s = buff; diff --git a/src/modules/mediaplayer/mp_dcopinterface.cpp b/src/modules/mediaplayer/mp_dcopinterface.cpp index 126034b84..b68ec8c54 100644 --- a/src/modules/mediaplayer/mp_dcopinterface.cpp +++ b/src/modules/mediaplayer/mp_dcopinterface.cpp @@ -150,7 +150,7 @@ bool KviMediaPlayerDCOPInterface::findRunningApp(const QString &szApp) { QLinkedList allApps = g_pApp->dcopClient()->registeredApplications(); QLinkedList::iterator iterator; - KviQCString sz = szApp.local8Bit(); + KviQCString sz = szApp.toLocal8Bit(); for(iterator = allApps.begin();iterator != allApps.end();iterator++) { if(*iterator == sz)return true; diff --git a/src/modules/mediaplayer/mp_winampinterface.cpp b/src/modules/mediaplayer/mp_winampinterface.cpp index 0b3c893e3..0275c8654 100644 --- a/src/modules/mediaplayer/mp_winampinterface.cpp +++ b/src/modules/mediaplayer/mp_winampinterface.cpp @@ -377,7 +377,7 @@ bool KviWinampInterface::playMrl(const QString &mrl) if(hWinamp) { QTextCodec *c=mediaplayer_get_codec(); - KviStr szMrl = c ? c->fromUnicode(mrl) : mrl.utf8(); + KviStr szMrl = c ? c->fromUnicode(mrl) : mrl.toUtf8(); COPYDATASTRUCT cds; cds.dwData = IPC_PLAYFILE; cds.lpData = (void *)szMrl.ptr(); diff --git a/src/modules/mediaplayer/mp_xmmsinterface.cpp b/src/modules/mediaplayer/mp_xmmsinterface.cpp index caf10c35d..a5042f8fa 100644 --- a/src/modules/mediaplayer/mp_xmmsinterface.cpp +++ b/src/modules/mediaplayer/mp_xmmsinterface.cpp @@ -276,7 +276,7 @@ KviMediaPlayerInterface::PlayerStatus KviXmmsInterface::status() bool KviXmmsInterface::playMrl(const QString &mrl) { void (*sym)(int,char *) = (void (*)(int,char *))lookupSymbol("xmms_remote_playlist_add_url_string"); - KviQCString tmp = mrl.local8Bit(); + KviQCString tmp = mrl.toLocal8Bit(); if(!tmp.isEmpty()) { if(sym) diff --git a/src/modules/my/libkvimy.cpp b/src/modules/my/libkvimy.cpp index d029eceac..88b0cb972 100644 --- a/src/modules/my/libkvimy.cpp +++ b/src/modules/my/libkvimy.cpp @@ -378,7 +378,7 @@ static bool my_kvs_fnc_network(KviKvsModuleFunctionCall * c) if(wnd) { if(wnd->connection()) - c->returnValue()->setString(wnd->currentNetworkName().utf8().data()); + c->returnValue()->setString(wnd->currentNetworkName().toUtf8().data()); } return true; } diff --git a/src/modules/objects/class_combobox.cpp b/src/modules/objects/class_combobox.cpp index 38fc015ea..1df1d9c9f 100644 --- a/src/modules/objects/class_combobox.cpp +++ b/src/modules/objects/class_combobox.cpp @@ -224,7 +224,7 @@ bool KviKvsObject_combobox::functioncount(KviKvsObjectFunctionCall *c) } bool KviKvsObject_combobox::functioncurrent(KviKvsObjectFunctionCall *c) { - if (widget()) c->returnValue()->setString(((QComboBox *)widget())->currentText().local8Bit().data()); + if (widget()) c->returnValue()->setString(((QComboBox *)widget())->currentText().toLocal8Bit().data()); return true; } bool KviKvsObject_combobox::functioncurrentItem(KviKvsObjectFunctionCall *c) diff --git a/src/modules/objects/class_listbox.cpp b/src/modules/objects/class_listbox.cpp index cb44cb5aa..c7275afba 100644 --- a/src/modules/objects/class_listbox.cpp +++ b/src/modules/objects/class_listbox.cpp @@ -226,7 +226,7 @@ bool KviKvsObject_listbox::functioncount(KviKvsObjectFunctionCall *c) } bool KviKvsObject_listbox::functioncurrentText(KviKvsObjectFunctionCall *c) { - if (widget()) c->returnValue()->setString(((KviTalListBox *)widget())->currentText().local8Bit().data()); + if (widget()) c->returnValue()->setString(((KviTalListBox *)widget())->currentText().toLocal8Bit().data()); return true; } bool KviKvsObject_listbox::functioncurrentItem(KviKvsObjectFunctionCall *c) diff --git a/src/modules/objects/class_socket.cpp b/src/modules/objects/class_socket.cpp index 48ebddbd9..7f1741bed 100644 --- a/src/modules/objects/class_socket.cpp +++ b/src/modules/objects/class_socket.cpp @@ -546,7 +546,7 @@ bool KviKvsObject_socket::functionWriteHex(KviKvsObjectFunctionCall *c) szTmp=m_szHex.setNum(m_szHex.toInt(&bOk,16),16); if(szTmp.length()>0) { - KviQCString szData8 = szTmp.utf8(); + KviQCString szData8 = szTmp.toUtf8(); m_pOutBuffer->append((const unsigned char *)(szData8.data()),szData8.length()); delayedFlush(0); c->returnValue()->setInteger(szData8.length()); @@ -938,12 +938,12 @@ debug ("Socket created"); unsigned int uOldConnectionId = m_uConnectionId; QString callBackError=__tr2qs("Connect failure: "); - callBackError.append((KviError::getDescription(KviError::translateSystemError(sockError)).utf8().data())); + callBackError.append((KviError::getDescription(KviError::translateSystemError(sockError)).toUtf8().data())); callFunction(this,"connectFailedEvent",new KviKvsVariantList( new KviKvsVariant(callBackError))); /* callEventFunction("connectFailedEvent",0,new KviParameterList( - new KviStr(KviStr::Format,__tr("Connect failure: %s"),KviError::getDescription(KviError::translateSystemError(sockError)).utf8().data()))); + new KviStr(KviStr::Format,__tr("Connect failure: %s"),KviError::getDescription(KviError::translateSystemError(sockError)).toUtf8().data()))); */ if(m_uConnectionId == uOldConnectionId)reset(); // else it has already been called! return; @@ -1315,7 +1315,7 @@ bool KviKvsObject_socket::functionWrite(KviKvsObjectFunctionCall *c) KVSO_PARAMETER("szData",KVS_PT_STRING,0,szData) KVSO_PARAMETERS_END(c) -KviQCString szData8 = szData.utf8(); +KviQCString szData8 = szData.toUtf8(); if(szData8.length() > 0) { m_pOutBuffer->append((const unsigned char*)szData8.data(),szData8.length()); diff --git a/src/modules/objects/class_widget.cpp b/src/modules/objects/class_widget.cpp index d511c59ce..215d7e51a 100644 --- a/src/modules/objects/class_widget.cpp +++ b/src/modules/objects/class_widget.cpp @@ -1384,7 +1384,7 @@ bool KviKvsObject_widget::function_setCaption(KviKvsObjectFunctionCall *c) bool KviKvsObject_widget::function_caption(KviKvsObjectFunctionCall *c) { - if(widget()) c->returnValue()->setString(widget()->caption().utf8().data()); + if(widget()) c->returnValue()->setString(widget()->caption().toUtf8().data()); return true; } diff --git a/src/modules/objects/class_wrapper.cpp b/src/modules/objects/class_wrapper.cpp index d3abfa558..d45dac910 100644 --- a/src/modules/objects/class_wrapper.cpp +++ b/src/modules/objects/class_wrapper.cpp @@ -135,8 +135,8 @@ bool KviKvsObject_wrapper::init(KviKvsRunTimeContext * pContext,KviKvsVariantLis szClass = s; szName = ""; } - debug ("szClass %s",szClass.utf8().data()); - debug ("szName %s",szName.utf8().data()); + debug ("szClass %s",szClass.toUtf8().data()); + debug ("szName %s",szName.toUtf8().data()); debug ("s %s",s.data()); if(KviQString::equalCI(szClass,"WinId")) diff --git a/src/modules/objects/class_xmlreader.cpp b/src/modules/objects/class_xmlreader.cpp index cb7781409..df0beae5d 100644 --- a/src/modules/objects/class_xmlreader.cpp +++ b/src/modules/objects/class_xmlreader.cpp @@ -325,7 +325,7 @@ bool KviKvsObject_xmlreader::function_parse(KviKvsObjectFunctionCall *c) QByteArray data = utf8data; data.truncate(utf8data.length()); // don't include the null terminator in data source.setData(data); - //debug("PARSING(%s) LEN(%d)",szString.utf8().data(),szString.utf8().length()); + //debug("PARSING(%s) LEN(%d)",szString.toUtf8().data(),szString.toUtf8().length()); QXmlSimpleReader reader; reader.setContentHandler(&handler); reader.setErrorHandler(&handler); diff --git a/src/modules/options/optw_identity.cpp b/src/modules/options/optw_identity.cpp index 92697322d..ebed7337e 100644 --- a/src/modules/options/optw_identity.cpp +++ b/src/modules/options/optw_identity.cpp @@ -152,7 +152,7 @@ void KviAvatarDownloadDialog::startDownload() g_pApp->getLocalKvircDirectory(m_szLocalFileName,KviApp::Avatars,tmp); m_pRequest->setExistingFileAction(KviHttpRequest::RenameExisting); - if(!m_pRequest->get(KviUrl(m_szUrl),KviHttpRequest::StoreToFile,m_szLocalFileName.utf8().data())) + if(!m_pRequest->get(KviUrl(m_szUrl),KviHttpRequest::StoreToFile,m_szLocalFileName.toUtf8().data())) { m_szErrorMessage = __tr2qs_ctx("Failed to start the download","options"); reject(); diff --git a/src/modules/options/optw_servers.cpp b/src/modules/options/optw_servers.cpp index 0acdeaecd..39b7a7a84 100644 --- a/src/modules/options/optw_servers.cpp +++ b/src/modules/options/optw_servers.cpp @@ -1191,7 +1191,7 @@ void KviServerOptionsWidget::fillServerList() { net = new KviServerOptionsListViewItem(m_pListView,*(g_pIconManager->getSmallIcon(KVI_SMALLICON_WORLD)),r->network()); KviPointerList * sl = r->serverList(); - bool bCurrent = r->network()->name() == g_pIrcServerDataBase->currentNetworkName().utf8().data(); + bool bCurrent = r->network()->name() == g_pIrcServerDataBase->currentNetworkName().toUtf8().data(); net->setOpen(bCurrent); for(KviIrcServer * s = sl->first();s;s = sl->next()) { diff --git a/src/modules/perlcore/libkviperlcore.cpp b/src/modules/perlcore/libkviperlcore.cpp index 8bf0cf610..7000829da 100644 --- a/src/modules/perlcore/libkviperlcore.cpp +++ b/src/modules/perlcore/libkviperlcore.cpp @@ -187,7 +187,7 @@ bool KviPerlInterpreter::init() "}\n", &m_szContextName); - eval_pv(szInitCode.utf8().data(),false); + eval_pv(szInitCode.toUtf8().data(),false); return true; } @@ -226,7 +226,7 @@ bool KviPerlInterpreter::execute( g_lWarningList.clear(); - KviQCString szUtf8 = szCode.utf8(); + KviQCString szUtf8 = szCode.toUtf8(); PERL_SET_CONTEXT(m_pInterpreter); // clear the _ array @@ -246,7 +246,7 @@ bool KviPerlInterpreter::execute( for(QStringList::Iterator it = args.begin();it != args.end();++it) { QString tmp = *it; - const char * val = tmp.utf8().data(); + const char * val = tmp.toUtf8().data(); if(val) { pArg = newSVpv(val,tmp.length()); diff --git a/src/modules/regchan/libkviregchan.cpp b/src/modules/regchan/libkviregchan.cpp index 489605717..2cf23b1ee 100644 --- a/src/modules/regchan/libkviregchan.cpp +++ b/src/modules/regchan/libkviregchan.cpp @@ -168,7 +168,7 @@ static bool regchan_kvs_cmd_setProperty(KviKvsModuleCommandCall * c) { if(!szValue.isEmpty()) { - ch->setProperty(szProperty.utf8().data(),new KviStr(szValue)); + ch->setProperty(szProperty.toUtf8().data(),new KviStr(szValue)); } else { ch->removeProperty(szProperty); } diff --git a/src/modules/reguser/libkvireguser.cpp b/src/modules/reguser/libkvireguser.cpp index 2e3a34680..190fa9901 100644 --- a/src/modules/reguser/libkvireguser.cpp +++ b/src/modules/reguser/libkvireguser.cpp @@ -218,7 +218,7 @@ static bool reguser_kvs_cmd_add(KviKvsModuleCommandCall * c) u = g_pRegisteredUserDataBase->addMask(u,m); if(u != 0) { - if(!c->hasSwitch('q',"quiet"))c->warning(__tr2qs("Mask %Q is already used to identify user %s"),&szMask,u->name().utf8().data()); + if(!c->hasSwitch('q',"quiet"))c->warning(__tr2qs("Mask %Q is already used to identify user %s"),&szMask,u->name().toUtf8().data()); } } } diff --git a/src/modules/sharedfile/libkvisharedfile.cpp b/src/modules/sharedfile/libkvisharedfile.cpp index 77609b826..3e58a24d3 100644 --- a/src/modules/sharedfile/libkvisharedfile.cpp +++ b/src/modules/sharedfile/libkvisharedfile.cpp @@ -217,11 +217,11 @@ static bool sharedfile_kvs_cmd_list(KviKvsModuleCommandCall * c) for(KviSharedFile * o = l->first();o;o = l->next()) { c->window()->output(KVI_OUT_NONE,"%c%d. %s", - KVI_TEXT_BOLD,idx + 1,it.currentKey().utf8().data()); + KVI_TEXT_BOLD,idx + 1,it.currentKey().toUtf8().data()); c->window()->output(KVI_OUT_NONE,__tr2qs_ctx(" File: %s (%u bytes)","sharedfile"), - o->absFilePath().utf8().data(),o->fileSize()); + o->absFilePath().toUtf8().data(),o->fileSize()); c->window()->output(KVI_OUT_NONE,__tr2qs_ctx(" Mask: %s","sharedfile"), - o->userMask().utf8().data()); + o->userMask().toUtf8().data()); if(o->expireTime() > 0) { int secs = ((int)(o->expireTime())) - ((int)(time(0))); diff --git a/src/modules/snd/libkvisnd.cpp b/src/modules/snd/libkvisnd.cpp index 3701bcb28..bd1db7dbb 100644 --- a/src/modules/snd/libkvisnd.cpp +++ b/src/modules/snd/libkvisnd.cpp @@ -212,7 +212,7 @@ void KviSoundPlayer::detectSoundSystem() bool KviSoundPlayer::playWinmm(const QString &szFileName) { if(isMuted()) return true; - sndPlaySound(szFileName.local8Bit().data(),SND_ASYNC | SND_NODEFAULT); + sndPlaySound(szFileName.toLocal8Bit().data(),SND_ASYNC | SND_NODEFAULT); return true; } #else //!COMPILE_ON_WINDOWS @@ -351,7 +351,7 @@ void KviSoundThread::run() float frameSize; void * buffer; - file = afOpenFile(m_szFileName.utf8().data(),"r",NULL); + file = afOpenFile(m_szFileName.toUtf8().data(),"r",NULL); afGetVirtualSampleFormat(file, AF_DEFAULT_TRACK, &sampleFormat, &sampleWidth); frameSize = afGetVirtualFrameSize(file, AF_DEFAULT_TRACK, 1); channelCount = afGetVirtualChannels(file, AF_DEFAULT_TRACK); @@ -428,7 +428,7 @@ void KviSoundThread::run() if(!f.open(IO_ReadOnly)) { - debug("Could not open sound file %s! [OSS]",m_szFileName.utf8().data()); + debug("Could not open sound file %s! [OSS]",m_szFileName.toUtf8().data()); return; } @@ -436,13 +436,13 @@ void KviSoundThread::run() if(iSize < 24) { - debug("Could not play sound, file %s too small! [OSS]",m_szFileName.utf8().data()); + debug("Could not play sound, file %s too small! [OSS]",m_szFileName.toUtf8().data()); goto exit_thread; } if(f.readBlock(buf,24) < 24) { - debug("Error while reading the sound file header (%s)! [OSS]",m_szFileName.utf8().data()); + debug("Error while reading the sound file header (%s)! [OSS]",m_szFileName.toUtf8().data()); goto exit_thread; } @@ -466,7 +466,7 @@ void KviSoundThread::run() int iReaded = f.readBlock(buf + iDataLen,iToRead); if(iReaded < 1) { - debug("Error while reading the file data (%s)! [OSS]",m_szFileName.utf8().data()); + debug("Error while reading the file data (%s)! [OSS]",m_szFileName.toUtf8().data()); goto exit_thread; } iSize -= iReaded; @@ -479,7 +479,7 @@ void KviSoundThread::run() { if((errno != EINTR) && (errno != EAGAIN)) { - debug("Error while writing the audio data (%s)! [OSS]",m_szFileName.utf8().data()); + debug("Error while writing the audio data (%s)! [OSS]",m_szFileName.toUtf8().data()); goto exit_thread; } } @@ -512,8 +512,8 @@ void KviSoundThread::run() void KviEsdSoundThread::play() { // ESD has a really nice API - if(!esd_play_file(NULL,m_szFileName.utf8().data(),1)) - debug("Could not play sound %s! [ESD]",m_szFileName.utf8().data()); + if(!esd_play_file(NULL,m_szFileName.toUtf8().data(),1)) + debug("Could not play sound %s! [ESD]",m_szFileName.toUtf8().data()); } #endif //COMPILE_ESD_SUPPORT @@ -536,7 +536,7 @@ void KviSoundThread::run() Arts::SimpleSoundServer *server = new Arts::SimpleSoundServer(Arts::Reference("global:Arts_SimpleSoundServer")); if(server->isNull()) { - debug("Can't connect to sound server to play file %s",m_szFileName.utf8().data()); + debug("Can't connect to sound server to play file %s",m_szFileName.toUtf8().data()); } else { server->play(m_szFileName); } @@ -599,7 +599,7 @@ static bool snd_kvs_cmd_autodetect(KviKvsModuleCommandCall * c) { c->window()->outputNoFmt(KVI_OUT_SYSTEMERROR,__tr2qs("Sorry , I can't find a sound system to use on this machine")); } else { - c->window()->output(KVI_OUT_SYSTEMMESSAGE,__tr2qs("Sound system detected to: %s"),KVI_OPTION_STRING(KviOption_stringSoundSystem).utf8().data()); + c->window()->output(KVI_OUT_SYSTEMMESSAGE,__tr2qs("Sound system detected to: %s"),KVI_OPTION_STRING(KviOption_stringSoundSystem).toUtf8().data()); } return true; } diff --git a/src/modules/str/libkvistr.cpp b/src/modules/str/libkvistr.cpp index 788b5761b..2e64848f0 100644 --- a/src/modules/str/libkvistr.cpp +++ b/src/modules/str/libkvistr.cpp @@ -1538,7 +1538,7 @@ static bool str_kvs_fnc_digest(KviKvsModuleFunctionCall * c) char buff[3]; OpenSSL_add_all_digests(); - md = EVP_get_digestbyname(szType.utf8().data()); + md = EVP_get_digestbyname(szType.toUtf8().data()); if(!md) { c->warning(__tr2qs("%Q algorytm is not supported"),&szType); return true; @@ -1546,7 +1546,7 @@ static bool str_kvs_fnc_digest(KviKvsModuleFunctionCall * c) EVP_MD_CTX_init(&mdctx); EVP_DigestInit_ex(&mdctx, md, NULL); - EVP_DigestUpdate(&mdctx, szString.utf8().data(), szString.utf8().length()); + EVP_DigestUpdate(&mdctx, szString.toUtf8().data(), szString.toUtf8().length()); EVP_DigestFinal_ex(&mdctx, md_value, &md_len); EVP_MD_CTX_cleanup(&mdctx); diff --git a/src/modules/system/libkvisystem.cpp b/src/modules/system/libkvisystem.cpp index e65817b94..38023226a 100644 --- a/src/modules/system/libkvisystem.cpp +++ b/src/modules/system/libkvisystem.cpp @@ -201,7 +201,7 @@ static bool system_kvs_fnc_getenv(KviKvsModuleFunctionCall *c) KVSM_PARAMETER("variable",KVS_PT_NONEMPTYSTRING,0,szVariable) KVSM_PARAMETERS_END(c) - KviQCString szVar = szVariable.local8Bit(); + KviQCString szVar = szVariable.toLocal8Bit(); #ifdef COMPILE_ON_WINDOWS QString env = getenv(szVar.data()); QString def = __tr2qs("No environment variable found, please don't use the %% in the request"); @@ -368,7 +368,7 @@ static bool system_kvs_fnc_checkModule(KviKvsModuleFunctionCall *c) KVSM_PARAMETER("module_name",KVS_PT_STRING,0,szModuleName) KVSM_PARAMETERS_END(c) - c->returnValue()->setBoolean(g_pModuleManager->loadModule(szModuleName.utf8().data())); + c->returnValue()->setBoolean(g_pModuleManager->loadModule(szModuleName.toUtf8().data())); return true; } @@ -619,8 +619,8 @@ static bool system_kvs_cmd_setenv(KviKvsModuleCommandCall * c) KVSM_PARAMETER("value",KVS_PT_STRING,KVS_PF_OPTIONAL,szValue) KVSM_PARAMETERS_END(c) - KviQCString szVar = szVariable.local8Bit(); - KviQCString szVal = szValue.local8Bit(); + KviQCString szVar = szVariable.toLocal8Bit(); + KviQCString szVal = szValue.toLocal8Bit(); if(szVal.isEmpty())kvi_unsetenv(szVar.data()); else diff --git a/src/modules/system/plugin.cpp b/src/modules/system/plugin.cpp index 0b47e5872..b214c4aab 100644 --- a/src/modules/system/plugin.cpp +++ b/src/modules/system/plugin.cpp @@ -115,7 +115,7 @@ KviPlugin::~KviPlugin() KviPlugin* KviPlugin::load(const QString& szFileName) { - kvi_library_t pLibrary = kvi_library_open(szFileName.local8Bit()); + kvi_library_t pLibrary = kvi_library_open(szFileName.toLocal8Bit()); if (!pLibrary) { return 0; @@ -187,7 +187,7 @@ int KviPlugin::call(const QString& pszFunctionName, int argc, char * argv[], cha { int r; plugin_function function_call; - function_call = (plugin_function)kvi_library_symbol(m_Plugin,pszFunctionName.local8Bit()); + function_call = (plugin_function)kvi_library_symbol(m_Plugin,pszFunctionName.toLocal8Bit()); if (!function_call) { return -1; @@ -283,7 +283,7 @@ bool KviPluginManager::pluginCall(KviKvsModuleFunctionCall *c) { ppArgv[i-2] = x; c->params()->at(i)->asString(tmp); - strcpy(x,tmp.local8Bit()); + strcpy(x,tmp.toLocal8Bit()); x += tmp.length(); *x = 0; diff --git a/src/modules/texticons/libkvitexticons.cpp b/src/modules/texticons/libkvitexticons.cpp index d026cffce..84c5120ce 100644 --- a/src/modules/texticons/libkvitexticons.cpp +++ b/src/modules/texticons/libkvitexticons.cpp @@ -56,7 +56,7 @@ static bool texticons_kvs_fnc_get(KviKvsModuleFunctionCall * c) pIcon=g_pTextIconManager->lookupTextIcon(szIcon); if(!pIcon) { - c->warning("Icon '%s' not found",szIcon.utf8().data()); + c->warning("Icon '%s' not found",szIcon.toUtf8().data()); } else { if(pIcon->id()!=-1) c->returnValue()->setInteger(pIcon->id()); diff --git a/src/modules/tip/libkvitip.cpp b/src/modules/tip/libkvitip.cpp index 603a7fa3d..79262fb76 100644 --- a/src/modules/tip/libkvitip.cpp +++ b/src/modules/tip/libkvitip.cpp @@ -1,308 +1,307 @@ -// -// File : libkvitip.cpp -// Creation date : Thu May 10 2001 13:50:11 CEST by Szymon Stefanek -// -// This file is part of the KVirc irc client distribution -// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net) -// -// This program is FREE software. You can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your opinion) any later version. -// -// This program is distributed in the HOPE that it will be USEFUL, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, write to the Free Software Foundation, -// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// - -#include "libkvitip.h" - -#include "kvi_module.h" -#include "kvi_styled_controls.h" -#include "kvi_locale.h" -#include "kvi_app.h" -#include "kvi_iconmanager.h" -#include "kvi_options.h" -#include "kvi_fileutils.h" - -#include -#include -#include -#include -#include -#include -#include - - -KviTipWindow * g_pTipWindow = 0; - -#define KVI_TIP_WINDOW_HEIGHT 200 -#define KVI_TIP_WINDOW_WIDTH 500 -#define KVI_TIP_WINDOW_BUTTON_WIDTH 80 -#define KVI_TIP_WINDOW_BUTTON_HEIGHT 30 -#define KVI_TIP_WINDOW_BORDER 5 -#define KVI_TIP_WINDOW_DOUBLE_BORDER 10 -#define KVI_TIP_WINDOW_SPACING 2 - - -KviTipFrame::KviTipFrame(QWidget * par) -: QFrame(par) -{ - m_pText=0; - QString buffer; - g_pApp->findImage(buffer,"kvi_tip.png"); - m_pTipPixmap = new QPixmap(buffer); - setFrameStyle(QFrame::Sunken | QFrame::WinPanel); -} - -KviTipFrame::~KviTipFrame() -{ - if (m_pText) delete m_pText; - delete m_pTipPixmap; -} - -void KviTipFrame::setText(const QString &text) -{ - QString szText= "
"; - szText += text; - szText += "
"; - if (m_pText) delete m_pText; - m_pText = new QTextDocument(); - QFont f = font(); - f.setStyleHint(QFont::SansSerif); - f.setPointSize(12); - m_pText->setHtml(szText); - m_pText->setDefaultFont(f); - update(); -} - -void KviTipFrame::paintEvent(QPaintEvent *e) -{ - QPainter p(this); - SET_ANTI_ALIASING(p); - p.fillRect(contentsRect(),QColor(0,0,0)); - p.drawPixmap(5,(height() - m_pTipPixmap->height()) / 2,*m_pTipPixmap); - - int www = width() - m_pTipPixmap->width(); +// +// File : libkvitip.cpp +// Creation date : Thu May 10 2001 13:50:11 CEST by Szymon Stefanek +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 2001 Szymon Stefanek (pragma at kvirc dot net) +// +// This program is FREE software. You can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your opinion) any later version. +// +// This program is distributed in the HOPE that it will be USEFUL, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, write to the Free Software Foundation, +// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// + +#include "libkvitip.h" + +#include "kvi_module.h" +#include "kvi_styled_controls.h" +#include "kvi_locale.h" +#include "kvi_app.h" +#include "kvi_iconmanager.h" +#include "kvi_options.h" +#include "kvi_fileutils.h" + +#include +#include +#include +#include +#include +#include +#include + + +KviTipWindow * g_pTipWindow = 0; + +#define KVI_TIP_WINDOW_HEIGHT 200 +#define KVI_TIP_WINDOW_WIDTH 500 +#define KVI_TIP_WINDOW_BUTTON_WIDTH 80 +#define KVI_TIP_WINDOW_BUTTON_HEIGHT 30 +#define KVI_TIP_WINDOW_BORDER 5 +#define KVI_TIP_WINDOW_DOUBLE_BORDER 10 +#define KVI_TIP_WINDOW_SPACING 2 + + +KviTipFrame::KviTipFrame(QWidget * par) +: QFrame(par) +{ + m_pText=0; + QString buffer; + g_pApp->findImage(buffer,"kvi_tip.png"); + m_pTipPixmap = new QPixmap(buffer); + //setBackgroundMode(Qt::NoBackground); + setFrameStyle(QFrame::Sunken | QFrame::WinPanel); +} + +KviTipFrame::~KviTipFrame() +{ + if (m_pText) delete m_pText; + delete m_pTipPixmap; +} + +void KviTipFrame::setText(const QString &text) +{ + QString szText= "
"; + szText += text; + szText += "
"; + if (m_pText) delete m_pText; + m_pText = new QTextDocument(); + QFont f = font(); + f.setStyleHint(QFont::SansSerif); + f.setPointSize(12); + m_pText->setHtml(szText); + m_pText->setDefaultFont(f); + update(); +} + +void KviTipFrame::paintEvent(QPaintEvent *e) +{ + QPainter p(this); + SET_ANTI_ALIASING(p); + p.fillRect(contentsRect(),QColor(0,0,0)); + p.drawPixmap(5,(height() - m_pTipPixmap->height()) / 2,*m_pTipPixmap); + + int www = width() - m_pTipPixmap->width(); p.translate(m_pTipPixmap->width(),5); m_pText->setPageSize(QSizeF(www,height() /2)); - m_pText->drawContents(&p); - -} - -KviTipWindow::KviTipWindow() - -{ -// : QWidget(0) - setObjectName("kvirc_tip_window"); - /*,WStyle_Customize | WStyle_Title | WStyle_DialogBorder | WStyle_StaysOnTop*/ - m_pConfig = 0; - - m_pTipFrame = new KviTipFrame(this); - m_pTipFrame->setGeometry( - KVI_TIP_WINDOW_BORDER, - KVI_TIP_WINDOW_BORDER, - KVI_TIP_WINDOW_WIDTH - KVI_TIP_WINDOW_DOUBLE_BORDER, - KVI_TIP_WINDOW_HEIGHT - (KVI_TIP_WINDOW_DOUBLE_BORDER + KVI_TIP_WINDOW_BUTTON_HEIGHT + KVI_TIP_WINDOW_SPACING)); - - QPushButton * pb = new QPushButton(">>",this); - pb->setGeometry( - KVI_TIP_WINDOW_WIDTH - ((KVI_TIP_WINDOW_BUTTON_WIDTH * 2)+ KVI_TIP_WINDOW_BORDER + KVI_TIP_WINDOW_SPACING), - KVI_TIP_WINDOW_HEIGHT - (KVI_TIP_WINDOW_BUTTON_HEIGHT + KVI_TIP_WINDOW_BORDER), - KVI_TIP_WINDOW_BUTTON_WIDTH, - KVI_TIP_WINDOW_BUTTON_HEIGHT - ); - connect(pb,SIGNAL(clicked()),this,SLOT(nextTip())); - - pb = new QPushButton(__tr2qs("Close"),this); - pb->setGeometry( - KVI_TIP_WINDOW_WIDTH - (KVI_TIP_WINDOW_BUTTON_WIDTH + KVI_TIP_WINDOW_BORDER), - KVI_TIP_WINDOW_HEIGHT - (KVI_TIP_WINDOW_BUTTON_HEIGHT + KVI_TIP_WINDOW_BORDER), - KVI_TIP_WINDOW_BUTTON_WIDTH, - KVI_TIP_WINDOW_BUTTON_HEIGHT - ); - connect(pb,SIGNAL(clicked()),this,SLOT(close())); - pb->setDefault(true); - - m_pShowAtStartupCheck = new KviStyledCheckBox(__tr2qs("Show at startup"),this); - m_pShowAtStartupCheck->setChecked(KVI_OPTION_BOOL(KviOption_boolShowTipAtStartup)); - m_pShowAtStartupCheck->setGeometry( - KVI_TIP_WINDOW_BORDER, - KVI_TIP_WINDOW_HEIGHT - (KVI_TIP_WINDOW_BUTTON_HEIGHT + KVI_TIP_WINDOW_BORDER), - KVI_TIP_WINDOW_WIDTH - ((KVI_TIP_WINDOW_BORDER + KVI_TIP_WINDOW_BUTTON_WIDTH + KVI_TIP_WINDOW_SPACING) * 2), - KVI_TIP_WINDOW_BUTTON_HEIGHT - ); - - setFixedSize(KVI_TIP_WINDOW_WIDTH,KVI_TIP_WINDOW_HEIGHT); - - setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_IDEA))); - - setCaption(__tr2qs("Did you know...")); - - pb->setFocus(); - -} - -KviTipWindow::~KviTipWindow() -{ - KVI_OPTION_BOOL(KviOption_boolShowTipAtStartup) = m_pShowAtStartupCheck->isChecked(); - if(m_pConfig)closeConfig(); -} - -bool KviTipWindow::openConfig(QString filename,bool bEnsureExists) -{ - if(m_pConfig)closeConfig(); - - m_szConfigFileName = filename; -// m_szConfigFileName.cutToLast('/'); - - QString buffer; - g_pApp->getReadOnlyConfigPath(buffer,m_szConfigFileName,KviApp::ConfigPlugins,true); - debug("Check path %s and file %s",buffer.utf8().data(),m_szConfigFileName.utf8().data()); - if(bEnsureExists) - { - if(!KviFileUtils::fileExists(buffer))return false; - } - - m_pConfig = new KviConfig(buffer,KviConfig::Read); - - return true; -} - -void KviTipWindow::closeConfig() -{ - QString buffer; - g_pApp->getLocalKvircDirectory(buffer,KviApp::ConfigPlugins,m_szConfigFileName); - m_pConfig->setSavePath(buffer); - delete m_pConfig; - m_pConfig = 0; -} - -void KviTipWindow::nextTip() -{ - if(!m_pConfig) - { - KviStr szLocale = KviLocale::localeName(); - KviStr szFile; - szFile.sprintf("libkvitip_%s.kvc",szLocale.ptr()); - if(!openConfig(szFile.ptr(),true)) - { - szLocale.cutFromFirst('.'); - szLocale.cutFromFirst('_'); - szLocale.cutFromFirst('@'); - szFile.sprintf("libkvitip_%s.kvc",szLocale.ptr()); - if(!openConfig(szFile.ptr(),true)) - { - openConfig("libkvitip.kvc",false); - } - } - } - - unsigned int uNumTips = m_pConfig->readUIntEntry("uNumTips",0); - unsigned int uNextTip = m_pConfig->readUIntEntry("uNextTip",0); - - - KviStr tmp(KviStr::Format,"%u",uNextTip); - QString szTip = m_pConfig->readEntry(tmp.ptr(),__tr2qs("Can't find any tip... :(")); - - //qDebug("REDECODED=%s",szTip.utf8().data()); - - uNextTip++; - if(uNextTip >= uNumTips)uNextTip = 0; - m_pConfig->writeEntry("uNextTip",uNextTip); - - m_pTipFrame->setText(szTip); -} - -void KviTipWindow::showEvent(QShowEvent *e) -{ - resize(KVI_TIP_WINDOW_WIDTH,KVI_TIP_WINDOW_HEIGHT); - move((g_pApp->desktop()->width() - KVI_TIP_WINDOW_WIDTH) / 2, - (g_pApp->desktop()->height() - KVI_TIP_WINDOW_HEIGHT) / 2); - QWidget::showEvent(e); -} - -void KviTipWindow::closeEvent(QCloseEvent *e) -{ - e->ignore(); - delete this; - g_pTipWindow = 0; -} - -/* - @doc: tip.open - @type: - command - @title: - tip.open - @short: - Opens the "did you know..." tip window - @syntax: - tip.open [tip_file_name:string] - @description: - Opens the "did you know..." tip window.
- If is specified , that tip is used instead of - the default tips provided with kvirc.
- must be a file name with no path and must refer to a - standard KVIrc configuration file found in the global or local - KVIrc plugin configuration directory ($KVIrcDir/config/modules).
- Once the window has been opened, the next tip avaiable in the config file is shown.
- This command works even if the tip window is already opened.
-*/ - -static bool tip_kvs_cmd_open(KviKvsModuleCommandCall * c) -{ - QString szTipfilename; - KVSM_PARAMETERS_BEGIN(c) - KVSM_PARAMETER("filename",KVS_PT_STRING,KVS_PF_OPTIONAL,szTipfilename) - KVSM_PARAMETERS_END(c) - - if(!g_pTipWindow)g_pTipWindow = new KviTipWindow(); - bool error=false; - if (!szTipfilename.isEmpty()){ - debug("Loading config tip"); - error=g_pTipWindow->openConfig(szTipfilename); - if (!error) debug ("Not opened"); - else debug("Opened"); - } - g_pTipWindow->nextTip(); - g_pTipWindow->show(); - return true; -} - -static bool tip_module_init(KviModule *m) -{ - KVSM_REGISTER_SIMPLE_COMMAND(m,"open",tip_kvs_cmd_open); - return true; -} - -static bool tip_module_cleanup(KviModule *m) -{ - if(g_pTipWindow)g_pTipWindow->close(); - return true; -} - -static bool tip_module_can_unload(KviModule *m) -{ - return (g_pTipWindow == 0); -} - -KVIRC_MODULE( - "Tip", // module name - "4.0.0", // module version - "Copyright (C) 2000 Szymon Stefanek (pragma at kvirc dot net)", // author & (C) - "\"Did you know...\" tip", - tip_module_init, - tip_module_can_unload, - 0, - tip_module_cleanup -) - -#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES -#include "libkvitip.moc" -#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES + m_pText->drawContents(&p); + +} + +KviTipWindow::KviTipWindow() +{ + setObjectName("kvirc_tip_window"); + /*,WStyle_Customize | WStyle_Title | WStyle_DialogBorder | WStyle_StaysOnTop*/ + m_pConfig = 0; + + m_pTipFrame = new KviTipFrame(this); + m_pTipFrame->setGeometry( + KVI_TIP_WINDOW_BORDER, + KVI_TIP_WINDOW_BORDER, + KVI_TIP_WINDOW_WIDTH - KVI_TIP_WINDOW_DOUBLE_BORDER, + KVI_TIP_WINDOW_HEIGHT - (KVI_TIP_WINDOW_DOUBLE_BORDER + KVI_TIP_WINDOW_BUTTON_HEIGHT + KVI_TIP_WINDOW_SPACING)); + + QPushButton * pb = new QPushButton(">>",this); + pb->setGeometry( + KVI_TIP_WINDOW_WIDTH - ((KVI_TIP_WINDOW_BUTTON_WIDTH * 2)+ KVI_TIP_WINDOW_BORDER + KVI_TIP_WINDOW_SPACING), + KVI_TIP_WINDOW_HEIGHT - (KVI_TIP_WINDOW_BUTTON_HEIGHT + KVI_TIP_WINDOW_BORDER), + KVI_TIP_WINDOW_BUTTON_WIDTH, + KVI_TIP_WINDOW_BUTTON_HEIGHT + ); + connect(pb,SIGNAL(clicked()),this,SLOT(nextTip())); + + pb = new QPushButton(__tr2qs("Close"),this); + pb->setGeometry( + KVI_TIP_WINDOW_WIDTH - (KVI_TIP_WINDOW_BUTTON_WIDTH + KVI_TIP_WINDOW_BORDER), + KVI_TIP_WINDOW_HEIGHT - (KVI_TIP_WINDOW_BUTTON_HEIGHT + KVI_TIP_WINDOW_BORDER), + KVI_TIP_WINDOW_BUTTON_WIDTH, + KVI_TIP_WINDOW_BUTTON_HEIGHT + ); + connect(pb,SIGNAL(clicked()),this,SLOT(close())); + pb->setDefault(true); + + m_pShowAtStartupCheck = new KviStyledCheckBox(__tr2qs("Show at startup"),this); + m_pShowAtStartupCheck->setChecked(KVI_OPTION_BOOL(KviOption_boolShowTipAtStartup)); + m_pShowAtStartupCheck->setGeometry( + KVI_TIP_WINDOW_BORDER, + KVI_TIP_WINDOW_HEIGHT - (KVI_TIP_WINDOW_BUTTON_HEIGHT + KVI_TIP_WINDOW_BORDER), + KVI_TIP_WINDOW_WIDTH - ((KVI_TIP_WINDOW_BORDER + KVI_TIP_WINDOW_BUTTON_WIDTH + KVI_TIP_WINDOW_SPACING) * 2), + KVI_TIP_WINDOW_BUTTON_HEIGHT + ); + + setFixedSize(KVI_TIP_WINDOW_WIDTH,KVI_TIP_WINDOW_HEIGHT); + + setIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_IDEA))); + + setCaption(__tr2qs("Did you know...")); + + pb->setFocus(); + +} + +KviTipWindow::~KviTipWindow() +{ + KVI_OPTION_BOOL(KviOption_boolShowTipAtStartup) = m_pShowAtStartupCheck->isChecked(); + if(m_pConfig)closeConfig(); +} + +bool KviTipWindow::openConfig(QString filename,bool bEnsureExists) +{ + if(m_pConfig)closeConfig(); + + m_szConfigFileName = filename; +// m_szConfigFileName.cutToLast('/'); + + QString buffer; + g_pApp->getReadOnlyConfigPath(buffer,m_szConfigFileName,KviApp::ConfigPlugins,true); + debug("Check path %s and file %s",buffer.toUtf8().data(),m_szConfigFileName.toUtf8().data()); + if(bEnsureExists) + { + if(!KviFileUtils::fileExists(buffer))return false; + } + + m_pConfig = new KviConfig(buffer,KviConfig::Read); + + return true; +} + +void KviTipWindow::closeConfig() +{ + QString buffer; + g_pApp->getLocalKvircDirectory(buffer,KviApp::ConfigPlugins,m_szConfigFileName); + m_pConfig->setSavePath(buffer); + delete m_pConfig; + m_pConfig = 0; +} + +void KviTipWindow::nextTip() +{ + if(!m_pConfig) + { + KviStr szLocale = KviLocale::localeName(); + KviStr szFile; + szFile.sprintf("libkvitip_%s.kvc",szLocale.ptr()); + if(!openConfig(szFile.ptr(),true)) + { + szLocale.cutFromFirst('.'); + szLocale.cutFromFirst('_'); + szLocale.cutFromFirst('@'); + szFile.sprintf("libkvitip_%s.kvc",szLocale.ptr()); + if(!openConfig(szFile.ptr(),true)) + { + openConfig("libkvitip.kvc",false); + } + } + } + + unsigned int uNumTips = m_pConfig->readUIntEntry("uNumTips",0); + unsigned int uNextTip = m_pConfig->readUIntEntry("uNextTip",0); + + + KviStr tmp(KviStr::Format,"%u",uNextTip); + QString szTip = m_pConfig->readEntry(tmp.ptr(),__tr2qs("Can't find any tip... :(")); + + //qDebug("REDECODED=%s",szTip.toUtf8().data()); + + uNextTip++; + if(uNextTip >= uNumTips)uNextTip = 0; + m_pConfig->writeEntry("uNextTip",uNextTip); + + m_pTipFrame->setText(szTip); +} + +void KviTipWindow::showEvent(QShowEvent *e) +{ + resize(KVI_TIP_WINDOW_WIDTH,KVI_TIP_WINDOW_HEIGHT); + move((g_pApp->desktop()->width() - KVI_TIP_WINDOW_WIDTH) / 2, + (g_pApp->desktop()->height() - KVI_TIP_WINDOW_HEIGHT) / 2); + QWidget::showEvent(e); +} + +void KviTipWindow::closeEvent(QCloseEvent *e) +{ + e->ignore(); + delete this; + g_pTipWindow = 0; +} + +/* + @doc: tip.open + @type: + command + @title: + tip.open + @short: + Opens the "did you know..." tip window + @syntax: + tip.open [tip_file_name:string] + @description: + Opens the "did you know..." tip window.
+ If is specified , that tip is used instead of + the default tips provided with kvirc.
+ must be a file name with no path and must refer to a + standard KVIrc configuration file found in the global or local + KVIrc plugin configuration directory ($KVIrcDir/config/modules).
+ Once the window has been opened, the next tip avaiable in the config file is shown.
+ This command works even if the tip window is already opened.
+*/ + +static bool tip_kvs_cmd_open(KviKvsModuleCommandCall * c) +{ + QString szTipfilename; + KVSM_PARAMETERS_BEGIN(c) + KVSM_PARAMETER("filename",KVS_PT_STRING,KVS_PF_OPTIONAL,szTipfilename) + KVSM_PARAMETERS_END(c) + + if(!g_pTipWindow)g_pTipWindow = new KviTipWindow(); + bool error=false; + if (!szTipfilename.isEmpty()){ + debug("Loading config tip"); + error=g_pTipWindow->openConfig(szTipfilename); + if (!error) debug ("Not opened"); + else debug("Opened"); + } + g_pTipWindow->nextTip(); + g_pTipWindow->show(); + return true; +} + +static bool tip_module_init(KviModule *m) +{ + KVSM_REGISTER_SIMPLE_COMMAND(m,"open",tip_kvs_cmd_open); + return true; +} + +static bool tip_module_cleanup(KviModule *m) +{ + if(g_pTipWindow)g_pTipWindow->close(); + return true; +} + +static bool tip_module_can_unload(KviModule *m) +{ + return (g_pTipWindow == 0); +} + +KVIRC_MODULE( + "Tip", // module name + "4.0.0", // module version + "Copyright (C) 2000 Szymon Stefanek (pragma at kvirc dot net)", // author & (C) + "\"Did you know...\" tip", + tip_module_init, + tip_module_can_unload, + 0, + tip_module_cleanup +) + +#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES +#include "libkvitip.moc" +#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/modules/toolbareditor/toolbareditor.cpp b/src/modules/toolbareditor/toolbareditor.cpp index b2de12304..9d8f4bef5 100644 --- a/src/modules/toolbareditor/toolbareditor.cpp +++ b/src/modules/toolbareditor/toolbareditor.cpp @@ -194,7 +194,7 @@ KviCustomToolBarPropertiesDialog::~KviCustomToolBarPropertiesDialog() void KviCustomToolBarPropertiesDialog::iconSelected(const QString &szIconId) { - QPixmap * p = g_pIconManager->getImage(szIconId.utf8().data()); + QPixmap * p = g_pIconManager->getImage(szIconId.toUtf8().data()); if(p) { m_pIconButton->setPixmap(*p); diff --git a/src/modules/url/libkviurl.cpp b/src/modules/url/libkviurl.cpp index 087b794e2..1ff07a6ad 100644 --- a/src/modules/url/libkviurl.cpp +++ b/src/modules/url/libkviurl.cpp @@ -277,7 +277,7 @@ void UrlDialog::popup(KviTalListViewItem *item, const QPoint &point, int col) void UrlDialog::sayToWin(int itemID) { - KviWindow *wnd = g_pApp->findWindowByCaption(m_pListPopup->text(itemID).utf8().data()); + KviWindow *wnd = g_pApp->findWindowByCaption(m_pListPopup->text(itemID).toUtf8().data()); QString say=QString("PRIVMSG %1 %2").arg(wnd->windowName()).arg(m_szUrl.ptr()); if (wnd) { KviKvsScript::run(say,wnd); @@ -461,7 +461,7 @@ void BanFrame::removeBan() QMessageBox::warning(0,__tr2qs("Warning - KVIrc"),__tr2qs("Select a ban."),QMessageBox::Ok,QMessageBox::NoButton,QMessageBox::NoButton); return; } - KviStr item(m_pBanList->text(i).utf8().data()); + KviStr item(m_pBanList->text(i).toUtf8().data()); for(KviStr *tmp=g_pBanList->first();tmp;tmp=g_pBanList->next()) { if (*tmp == item) diff --git a/src/modules/window/libkviwindow.cpp b/src/modules/window/libkviwindow.cpp index 5e6b9a42b..90f46dffe 100644 --- a/src/modules/window/libkviwindow.cpp +++ b/src/modules/window/libkviwindow.cpp @@ -70,11 +70,11 @@ KviPointerList * g_pUserWindowList = 0; { \ pWnd = c->window(); \ } else { \ - pWnd = g_pApp->findWindow(szWnd.utf8().data()); \ + pWnd = g_pApp->findWindow(szWnd.toUtf8().data()); \ if(!pWnd) \ { \ if(!c->hasSwitch('q',"quiet")) \ - c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.utf8().data()); \ + c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.toUtf8().data()); \ return true; \ } \ } @@ -89,7 +89,7 @@ KviPointerList * g_pUserWindowList = 0; { \ pWnd = c->window(); \ } else { \ - pWnd = g_pApp->findWindow(szWnd.utf8().data()); \ + pWnd = g_pApp->findWindow(szWnd.toUtf8().data()); \ if(!pWnd) \ return true; \ } @@ -1103,11 +1103,11 @@ static bool window_kvs_cmd_setCaption(KviKvsModuleCommandCall * c) KVSM_PARAMETER("html_active_caption",KVS_PT_STRING,KVS_PF_OPTIONAL,szActive) KVSM_PARAMETERS_END(c) - pWnd = g_pApp->findWindow(szWnd.utf8().data()); + pWnd = g_pApp->findWindow(szWnd.toUtf8().data()); if(!pWnd) { if(!c->hasSwitch('q',"quiet")) - c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.utf8().data()); + c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.toUtf8().data()); return true; } @@ -1149,11 +1149,11 @@ static bool window_kvs_cmd_setInputText(KviKvsModuleCommandCall * c) KVSM_PARAMETER("text",KVS_PT_STRING,0, szText) KVSM_PARAMETERS_END(c) - pWnd = g_pApp->findWindow(szWnd.utf8().data()); + pWnd = g_pApp->findWindow(szWnd.toUtf8().data()); if(!pWnd) { if(!c->hasSwitch('q',"quiet")) - c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.utf8().data()); + c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.toUtf8().data()); return true; } if(pWnd->input()) @@ -1194,11 +1194,11 @@ static bool window_kvs_cmd_insertInInputText(KviKvsModuleCommandCall * c) KVSM_PARAMETER("text",KVS_PT_STRING,0, szText) KVSM_PARAMETERS_END(c) - pWnd = g_pApp->findWindow(szWnd.utf8().data()); + pWnd = g_pApp->findWindow(szWnd.toUtf8().data()); if(!pWnd) { if(!c->hasSwitch('q',"quiet")) - c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.utf8().data()); + c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.toUtf8().data()); return true; } if(pWnd->input()) @@ -1267,11 +1267,11 @@ static bool window_kvs_cmd_setBackground(KviKvsModuleCommandCall * c) KVSM_PARAMETER("plain_text_caption",KVS_PT_STRING,0, szBackground) KVSM_PARAMETERS_END(c) - pWnd = g_pApp->findWindow(szWnd.utf8().data()); + pWnd = g_pApp->findWindow(szWnd.toUtf8().data()); if(!pWnd) { if(!c->hasSwitch('q',"quiet")) - c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.utf8().data()); + c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.toUtf8().data()); return true; } @@ -1400,11 +1400,11 @@ static bool window_kvs_cmd_setCryptEngine(KviKvsModuleCommandCall * c) KVSM_PARAMETERS_END(c) if(szDecryptKey.isEmpty())szDecryptKey = szEncryptKey; #ifdef COMPILE_CRYPT_SUPPORT - pWnd = g_pApp->findWindow(szWnd.utf8().data()); + pWnd = g_pApp->findWindow(szWnd.toUtf8().data()); if(!pWnd) { if(!c->hasSwitch('q',"quiet")) - c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.utf8().data()); + c->warning(__tr2qs("The window with id '%s' does not exist"),szWnd.toUtf8().data()); return true; } if(c->hasSwitch('n',"onlydecrypt") && c->hasSwitch('m',"onlyencrypt")) @@ -1426,11 +1426,11 @@ static bool window_kvs_cmd_setCryptEngine(KviKvsModuleCommandCall * c) (void)g_pModuleManager->loadModulesByCaps("crypt"); - KviCryptEngine * e = g_pCryptEngineManager->allocateEngine(szEngine.utf8().data()); + KviCryptEngine * e = g_pCryptEngineManager->allocateEngine(szEngine.toUtf8().data()); if(e) { - KviStr enc = KviStr(szEncryptKey.utf8().data()); - KviStr dec = KviStr(szDecryptKey.utf8().data()); + KviStr enc = KviStr(szEncryptKey.toUtf8().data()); + KviStr dec = KviStr(szDecryptKey.toUtf8().data()); QString szError; if(initializeCryptEngine(e,enc,dec,szError)) { -- cgit v1.3.1-10-gc9f91