aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/options/optw_texticons.cpp
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2011-01-01 20:19:56 +0000
committerGravatar Szymon Tomasz Stefanek2011-01-01 20:19:56 +0000
commitc601b5a27f74b16158adafe429faefbe573e64a2 (patch)
treea3cde3206a45628f8ac86e8dfbdab70b20c3a831 /src/modules/options/optw_texticons.cpp
parentprobable compilation fix for rijndaled/crypto++ (diff)
downloadKVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.gz
KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.bz2
KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.zip
The big rename for modules. Still some details remaining.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5284 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/options/optw_texticons.cpp')
-rw-r--r--src/modules/options/optw_texticons.cpp291
1 files changed, 0 insertions, 291 deletions
diff --git a/src/modules/options/optw_texticons.cpp b/src/modules/options/optw_texticons.cpp
deleted file mode 100644
index f2da5fd10..000000000
--- a/src/modules/options/optw_texticons.cpp
+++ /dev/null
@@ -1,291 +0,0 @@
-//=============================================================================
-//
-// File : optw_texticons.cpp
-// Creation date : Fri May 24 2002 00:16:13 CEST by Szymon Stefanek
-//
-// This file is part of the KVIrc irc client distribution
-// Copyright (C) 2002-2010 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-//
-//=============================================================================
-
-#include "optw_texticons.h"
-
-#include "KviIconManager.h"
-#include "KviTextIconManager.h"
-#include "KviLocale.h"
-#include "KviFileDialog.h"
-#include "kvi_fileextensions.h"
-#include "KviTalHBox.h"
-
-#include <QLayout>
-#include <QCursor>
-#include <QHeaderView>
-
-KviTextIconTableItem::KviTextIconTableItem(QTableWidget *,KviTextIcon * icon)
-: QTableWidgetItem(QString(),Qt::ItemIsEditable)
-{
- if(icon)
- m_pIcon=icon;
- else
- m_pIcon=new KviTextIcon(0);
- QPixmap* pix=m_pIcon->pixmap();
- if(pix) setIcon(QIcon(*pix));
-}
-
-KviTextIconTableItem::~KviTextIconTableItem()
-{
- delete m_pIcon;
-
-}
-
-void KviTextIconTableItem::setId(int id)
-{
- m_pIcon->setId(id);
- QPixmap* pix=m_pIcon->pixmap();
- if(pix) setIcon(QIcon(*pix));
-}
-
-
-KviTextIconsOptionsWidget::KviTextIconsOptionsWidget(QWidget * parent)
-: KviOptionsWidget(parent)
-{
- m_pBox=0;
- m_pIconButton=0;
- m_pBrowseButton=0;
- m_pPopup=0;
- m_iLastEditedRow=-1;
-
- setObjectName("texticons_options_widget");
- createLayout();
-
- m_pTable = new QTableWidget(this);
-
- m_pTable->setColumnCount(2);
- m_pTable->setColumnWidth(0,300);
- m_pTable->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
- m_pTable->horizontalHeader()->stretchLastSection();
- m_pTable->setSelectionBehavior(QAbstractItemView::SelectRows);
- m_pTable->setSelectionMode(QAbstractItemView::SingleSelection);
- m_pTable->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
-
- mergeTip(m_pTable->viewport(),__tr2qs_ctx("This table contains the text icon associations.<br>" \
- "KVirc will use them to display the CTRL+I escape sequences and eventually the " \
- "emoticons.","options"));
-
- layout()->addWidget(m_pTable,0,0,1,3);
-
- m_pAdd = new QPushButton(__tr2qs_ctx("Add","options"),this);
- layout()->addWidget(m_pAdd,1,0);
- connect(m_pAdd,SIGNAL(clicked()),this,SLOT(addClicked()));
-
- m_pDel = new QPushButton(__tr2qs_ctx("Delete","options"),this);
- layout()->addWidget(m_pDel,1,1);
- connect(m_pDel,SIGNAL(clicked()),this,SLOT(delClicked()));
-
- m_pRestore = new QPushButton(__tr2qs_ctx("Restore","options"),this);
- layout()->addWidget(m_pRestore,1,2);
- connect(m_pRestore,SIGNAL(clicked()),this,SLOT(restoreClicked()));
-
- connect(m_pTable,SIGNAL(itemSelectionChanged()),this,SLOT(itemSelectionChanged()));
- connect(m_pTable,SIGNAL(itemClicked(QTableWidgetItem *)),this,SLOT(itemClicked(QTableWidgetItem *)));
-
- fillTable();
-}
-
-KviTextIconsOptionsWidget::~KviTextIconsOptionsWidget()
-{
- if(m_pIconButton)
- delete m_pIconButton;
- if(m_pBrowseButton)
- delete m_pBrowseButton;
- if(m_pBox)
- delete m_pBox;
-}
-
-void KviTextIconsOptionsWidget::fillTable()
-{
- KviPointerHashTableIterator<QString,KviTextIcon> it(*(g_pTextIconManager->textIconDict()));
-
- m_pTable->clear();
- QStringList header;
- header.append(__tr2qs("Text"));
- header.append(__tr2qs("Emoticon"));
- m_pTable->setHorizontalHeaderLabels(header);
- m_pTable->setRowCount(g_pTextIconManager->textIconDict()->count());
-
- int idx = 0;
- QTableWidgetItem *item0;
- KviTextIconTableItem *item1;
- while(KviTextIcon * i = it.current())
- {
- if(!m_pTable->item(idx,0))
- {
- item0 = new QTableWidgetItem(it.currentKey());
- m_pTable->setItem(idx,0,item0);
- }
-
- item1 = new KviTextIconTableItem(m_pTable,new KviTextIcon(i));
- //remove from the item the ability to be edited as text
- item1->setFlags(item1->flags() ^ Qt::ItemIsEditable);
- m_pTable->setItem(idx,1,item1);
-
- ++idx;
- ++it;
- }
-
- // disable the delete button
- m_pDel->setEnabled(false);
-}
-
-void KviTextIconsOptionsWidget::doPopup()
-{
- if(!m_pPopup)
- {
- m_pPopup = new KviTalPopupMenu(this);
- KviIconWidget * iw = new KviIconWidget(m_pPopup);
- connect(iw,SIGNAL(selected(int)),this,SLOT(iconSelected(int)));
- m_pPopup->insertItem(iw);
- }
- m_pPopup->popup(QCursor::pos());
-}
-
-void KviTextIconsOptionsWidget::iconSelected(int id)
-{
- m_pItem->icon()->setId(id);
- m_pItem->setIcon(QIcon(*m_pItem->icon()->pixmap()));
- m_pIconButton->setIcon(QIcon(*m_pItem->icon()->pixmap()));
-}
-
-void KviTextIconsOptionsWidget::chooseFromFile()
-{
- QString szFile;
- KviFileDialog::askForOpenFileName(szFile,"Choose icon filename",QString(),KVI_FILTER_IMAGE,"options");
- if(!szFile.isEmpty())
- {
- if(g_pIconManager->getPixmap(szFile))
- {
- m_pItem->icon()->setFilename(szFile);
- m_pItem->setIcon(QIcon(*m_pItem->icon()->pixmap()));
- m_pIconButton->setIcon(QIcon(*m_pItem->icon()->pixmap()));
- }
- }
-}
-void KviTextIconsOptionsWidget::itemSelectionChanged()
-{
- int i = m_pTable->currentRow();
- m_pDel->setEnabled(i >= 0 && i < m_pTable->rowCount());
-}
-void KviTextIconsOptionsWidget::itemClicked(QTableWidgetItem *i)
-{
- if (i->column()!=1) return;
- if (m_iLastEditedRow==i->row()) return;
-
- m_pItem=(KviTextIconTableItem *)i;
-
- if(m_pIconButton)
- delete m_pIconButton;
- if(m_pBrowseButton)
- delete m_pBrowseButton;
- if (m_pBox)
- delete m_pBox;
-
- m_pBox=new KviTalHBox(0);
- m_pBox->setSpacing(0);
- m_pBox->setMargin(0);
-
- m_pIconButton=new QToolButton(m_pBox);
- m_pIconButton->setMinimumWidth(150);
- m_pIconButton->setIcon(QIcon(i->icon()));
- connect(m_pIconButton,SIGNAL(clicked()),this,SLOT(doPopup()));
-
- m_pBrowseButton=new QToolButton(m_pBox);
- m_pBrowseButton->setText("...");
- connect(m_pBrowseButton,SIGNAL(clicked()),this,SLOT(chooseFromFile()));
-
- m_pTable->setCellWidget(i->row(),1,m_pBox);
- m_iLastEditedRow=i->row();
-}
-
-void KviTextIconsOptionsWidget::addClicked()
-{
- m_pTable->setRowCount(m_pTable->rowCount() + 1);
- m_pTable->setItem(m_pTable->rowCount() - 1,0,new QTableWidgetItem(__tr2qs_ctx("unnamed","options")));
- m_pTable->setItem(m_pTable->rowCount() - 1,1,new KviTextIconTableItem(m_pTable,0));
- m_pTable->scrollToBottom();
- m_pDel->setEnabled(true);
-}
-
-void KviTextIconsOptionsWidget::restoreClicked()
-{
- g_pTextIconManager->checkDefaultAssociations();
- fillTable();
-}
-
-void KviTextIconsOptionsWidget::delClicked()
-{
- int i = m_pTable->currentRow();
-
- if((i > -1) && (i < m_pTable->rowCount()))
- {
- if(m_pIconButton)
- {
- delete m_pIconButton;
- m_pIconButton=0;
- }
- if(m_pBrowseButton)
- {
- delete m_pBrowseButton;
- m_pBrowseButton=0;
- }
- if (m_pBox)
- {
- delete m_pBox;
- m_pBox=0;
- }
- m_pTable->removeRow(i);
- if(m_pTable->rowCount() == 0) m_pDel->setEnabled(false);
- }
-}
-
-void KviTextIconsOptionsWidget::commit()
-{
-
- KviOptionsWidget::commit();
- g_pTextIconManager->clear();
- int n = m_pTable->rowCount();
- for(int i=0;i < n;i++)
- {
- QString szVal = m_pTable->item(i,0)->text();
- if(!szVal.isEmpty())
- {
- KviTextIconTableItem * it = (KviTextIconTableItem *)m_pTable->item(i,1);
- if(it)
- {
- g_pTextIconManager->insert(szVal,*(it->icon()));
- }
- }
- }
-
- for(int i=0; i<n; i++)
- for (int j=0; j<m_pTable->columnCount(); j++)
- if (m_pTable->item(i,j)) m_pTable->takeItem(i,j);
-
-}
-
-#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
-#include "m_optw_texticons.moc"
-#endif //!COMPILE_USE_STANDALONE_MOC_SOURCES