aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2009-10-06 20:32:15 +0000
committerGravatar Fabio Bas2009-10-06 20:32:15 +0000
commit5dc06b2e8738bfe0a790d9140509f17edebbece5 (patch)
tree6c3143b1a129d3427015a4d974b9f2db1faa52b9 /src
parentfix for #591 (diff)
downloadKVIrc-5dc06b2e8738bfe0a790d9140509f17edebbece5.tar.gz
KVIrc-5dc06b2e8738bfe0a790d9140509f17edebbece5.tar.bz2
KVIrc-5dc06b2e8738bfe0a790d9140509f17edebbece5.zip
patched url module to modernize it and remove not-working functions. closes #558
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3546 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/modules/url/libkviurl.cpp57
-rw-r--r--src/modules/url/libkviurl.h1
2 files changed, 52 insertions, 6 deletions
diff --git a/src/modules/url/libkviurl.cpp b/src/modules/url/libkviurl.cpp
index dbecfb781..9d161088a 100644
--- a/src/modules/url/libkviurl.cpp
+++ b/src/modules/url/libkviurl.cpp
@@ -38,6 +38,7 @@
#include "kvi_kvs_eventmanager.h"
#include "kvi_tal_popupmenu.h"
#include "kvi_window.h"
+#include "kvi_options.h"
#include <QFileDialog>
#include <QMessageBox>
@@ -46,10 +47,15 @@
#include <QHeaderView>
#include <QTextStream>
#include <QMouseEvent>
+#include <QPainter>
static QPixmap * g_pUrlIconPixmap = 0;
static KviUrlAction * g_pUrlAction = 0;
+#ifdef COMPILE_PSEUDO_TRANSPARENCY
+ extern KVIRC_API QPixmap * g_pShadedChildGlobalDesktopBackground;
+#endif
+
typedef struct _UrlDlgList
{
UrlDialog *dlg;
@@ -98,6 +104,38 @@ void KviUrlDialogTreeWidget::mousePressEvent (QMouseEvent *e)
QTreeWidget::mousePressEvent(e);
}
+void KviUrlDialogTreeWidget::paintEvent(QPaintEvent * event)
+{
+ QPainter *p = new QPainter(viewport());
+ QStyleOptionViewItem option = viewOptions();
+ QRect rect = event->rect();
+
+#ifdef COMPILE_PSEUDO_TRANSPARENCY
+ if(KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing())
+ {
+ p->save();
+ p->setCompositionMode(QPainter::CompositionMode_Source);
+ QColor col=KVI_OPTION_COLOR(KviOption_colorGlobalTransparencyFade);
+ col.setAlphaF((float)((float)KVI_OPTION_UINT(KviOption_uintGlobalTransparencyChildFadeFactor) / (float)100));
+ p->fillRect(rect, col);
+ p->restore();
+ } else if(g_pShadedChildGlobalDesktopBackground)
+ {
+ QPoint pnt = viewport()->mapToGlobal(rect.topLeft());
+ p->drawTiledPixmap(rect,*g_pShadedChildGlobalDesktopBackground,pnt);
+ } else {
+#endif
+ //FIXME this is not the treewindowlist
+ p->fillRect(rect,KVI_OPTION_COLOR(KviOption_colorTreeWindowListBackground));
+#ifdef COMPILE_PSEUDO_TRANSPARENCY
+ }
+#endif
+ delete p;
+
+ //call paint on all childrens
+ QTreeWidget::paintEvent(event);
+}
+
KviUrlAction::KviUrlAction(QObject * pParent)
: KviKvsAction(pParent,
"url.list",
@@ -131,11 +169,12 @@ QPixmap * KviUrlAction::smallIcon()
UrlDialog::UrlDialog(KviPointerList<KviUrl> *)
:KviWindow(KVI_WINDOW_TYPE_TOOL,g_pFrame,"URL List")
{
- m_pMenuBar = new KviTalMenuBar(this,"url menu");
m_pUrlList = new KviUrlDialogTreeWidget(this);
+
+ m_pMenuBar = new KviTalMenuBar(this,"url menu");
//m_pUrlList = new KviListView(this,"list");
KviConfig cfg(szConfigPath,KviConfig::Read);
-
+/*
KviTalPopupMenu *pop;
pop = new KviTalPopupMenu(this);
@@ -151,20 +190,20 @@ UrlDialog::UrlDialog(KviPointerList<KviUrl> *)
pop->insertItem(__tr2qs("&Clear"),this,SLOT(clear()));
pop->setTitle(__tr2qs("&List"));
m_pMenuBar->addMenu(pop);
-
+*/
m_pUrlList->header()->setSortIndicatorShown(true);
m_pUrlList->setColumnCount(4);
QStringList labels;
labels << __tr2qs("URL") << __tr2qs("Window") << __tr2qs("Count") << __tr2qs("Timestamp");
m_pUrlList->setHeaderLabels(labels);
-
+/*
cfg.setGroup("colsWidth");
m_pUrlList->setColumnWidth(0,cfg.readIntEntry("Url",170));
m_pUrlList->setColumnWidth(1,cfg.readIntEntry("Window",130));
m_pUrlList->setColumnWidth(2,cfg.readIntEntry("Count",70));
m_pUrlList->setColumnWidth(3,cfg.readIntEntry("Timestamp",70));
-
+*/
connect(m_pUrlList,SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)),SLOT(dblclk_url(QTreeWidgetItem *, int)));
connect(m_pUrlList,SIGNAL(rightButtonPressed(QTreeWidgetItem *, const QPoint &)),SLOT(popup(QTreeWidgetItem *, const QPoint &)));
@@ -327,6 +366,11 @@ void UrlDialog::addUrl(QString url, QString window, QString count, QString times
UrlItem->setText(1, window);
UrlItem->setText(2, count);
UrlItem->setText(3, timestamp);
+
+ m_pUrlList->resizeColumnToContents(0);
+ m_pUrlList->resizeColumnToContents(3);
+ m_pUrlList->resizeColumnToContents(2);
+ m_pUrlList->resizeColumnToContents(1);
}
void UrlDialog::resizeEvent(QResizeEvent *)
@@ -338,6 +382,7 @@ void UrlDialog::resizeEvent(QResizeEvent *)
UrlDialog::~UrlDialog()
{
+ /*
KviConfig cfg(szConfigPath,KviConfig::Write);
cfg.setGroup("ConfigDialog");
if (cfg.readBoolEntry("SaveColumnWidthOnClose",false)) {
@@ -347,7 +392,7 @@ UrlDialog::~UrlDialog()
cfg.writeEntry("Count",m_pUrlList->columnWidth(2));
cfg.writeEntry("Timestamp",m_pUrlList->columnWidth(3));
}
-
+*/
delete m_pUrlList;
/* if (m_pListPopup) delete m_pListPopup;
m_pListPopup = 0;
diff --git a/src/modules/url/libkviurl.h b/src/modules/url/libkviurl.h
index ad3e6c0ff..1718fc55b 100644
--- a/src/modules/url/libkviurl.h
+++ b/src/modules/url/libkviurl.h
@@ -61,6 +61,7 @@ public:
~KviUrlDialogTreeWidget(){};
protected:
void mousePressEvent (QMouseEvent *e);
+ void paintEvent(QPaintEvent * event);
signals:
void rightButtonPressed(QTreeWidgetItem *,QPoint);
};