diff options
| author | 2007-04-10 11:42:26 +0000 | |
|---|---|---|
| committer | 2007-04-10 11:42:26 +0000 | |
| commit | 8a05642d842820e59986d451ec179c57d35757e7 (patch) | |
| tree | 60919775203f9a365df1ee27bcd085ce6a7830e8 /src | |
| parent | updated hungarian translations (diff) | |
| download | KVIrc-8a05642d842820e59986d451ec179c57d35757e7.tar.gz KVIrc-8a05642d842820e59986d451ec179c57d35757e7.tar.bz2 KVIrc-8a05642d842820e59986d451ec179c57d35757e7.zip | |
Configurable avatar scaling on load; Human-redable file sized on dcc transfers
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@473 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/core/kvi_qstring.cpp | 25 | ||||
| -rw-r--r-- | src/kvilib/core/kvi_qstring.h | 1 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_iconmanager.cpp | 7 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_iconmanager.h | 2 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_options.cpp | 7 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_options.h | 7 | ||||
| -rw-r--r-- | src/modules/dcc/broker.cpp | 12 | ||||
| -rw-r--r-- | src/modules/dcc/send.cpp | 6 | ||||
| -rw-r--r-- | src/modules/filetransferwindow/filetransferwindow.cpp | 2 | ||||
| -rw-r--r-- | src/modules/http/httpfiletransfer.cpp | 5 | ||||
| -rw-r--r-- | src/modules/options/optw_avatar.cpp | 19 | ||||
| -rw-r--r-- | src/modules/options/optw_identity.cpp | 2 | ||||
| -rw-r--r-- | src/win32registrar/win32registrar.h | 2 | ||||
| -rw-r--r-- | src/win32registrar/win32registrar_i.c | 2 |
14 files changed, 72 insertions, 27 deletions
diff --git a/src/kvilib/core/kvi_qstring.cpp b/src/kvilib/core/kvi_qstring.cpp index bd8ade4f6..48ce8bfa8 100644 --- a/src/kvilib/core/kvi_qstring.cpp +++ b/src/kvilib/core/kvi_qstring.cpp @@ -34,6 +34,7 @@ #include "kvi_qstring.h" #include "kvi_string.h" #include "kvi_malloc.h" +#include "kvi_locale.h" #include <ctype.h> // for tolower() #include <stdio.h> // for sprintf() @@ -160,6 +161,30 @@ namespace KviQString return (c1 == c1e); } + QString makeSizeReadable(size_t bytes) + { + double size = bytes; + if(size<900) + return QString(__tr2qs("%1 bytes")).arg(size,0,'f',3); + + size/=1024; + if(size<900) + return QString(__tr2qs("%1 KB")).arg(size,0,'f',3); + + size/=1024; + if(size<900) + return QString(__tr2qs("%1 MB")).arg(size,0,'f',3); + + //Pirated DVD?;) + size/=1024; + if(size<900) + return QString(__tr2qs("%1 GB")).arg(size,0,'f',3); + + //Uhm.. We are downloading a whole internet:))) + size/=1024; + return QString(__tr2qs("%1 TB")).arg(size,0,'f',3); + } + bool equalCS(const QString &sz1,const QString &sz2) { if(sz1.length() != sz2.length())return false; diff --git a/src/kvilib/core/kvi_qstring.h b/src/kvilib/core/kvi_qstring.h index 564dea215..a821fa294 100644 --- a/src/kvilib/core/kvi_qstring.h +++ b/src/kvilib/core/kvi_qstring.h @@ -40,6 +40,7 @@ namespace KviQString { + extern KVILIB_API QString makeSizeReadable(size_t size); extern KVILIB_API bool equalCS(const QString &sz1,const QString &sz2); extern KVILIB_API bool equalCI(const QString &sz1,const QString &sz2); extern KVILIB_API bool equalCS(const QString &sz1,const char * sz2); diff --git a/src/kvirc/kernel/kvi_iconmanager.cpp b/src/kvirc/kernel/kvi_iconmanager.cpp index 685f88f95..18ba42df1 100644 --- a/src/kvirc/kernel/kvi_iconmanager.cpp +++ b/src/kvirc/kernel/kvi_iconmanager.cpp @@ -34,6 +34,7 @@ #include "kvi_defaults.h" #include "kvi_locale.h" #include "kvi_fileutils.h" +#include "kvi_options.h" #include <qlayout.h> #include <qlabel.h> @@ -783,7 +784,7 @@ void KviIconManager::urlToCachedFileName(QString &szFName) szFName.replace("___","."); } -KviAvatar * KviIconManager::getAvatar(const QString &szLocalPath,const QString &szName,bool bScaleIfReallyTooBig) +KviAvatar * KviIconManager::getAvatar(const QString &szLocalPath,const QString &szName) { QString szP,szN; @@ -810,7 +811,9 @@ KviAvatar * KviIconManager::getAvatar(const QString &szLocalPath,const QString & } // avatars bigger than 1024x768 just sux: they can't be seen on tooltips anyway - KviCachedPixmap * p = bScaleIfReallyTooBig ? getPixmapWithCacheScaleOnLoad(szP,1024,768) : getPixmapWithCache(szP); + KviCachedPixmap * p = KVI_OPTION_BOOL(KviOption_boolScaleAvatarsOnLoad) ? getPixmapWithCacheScaleOnLoad(szP, + KVI_OPTION_UINT(KviOption_uintScaleAvatarsOnLoadWidth) + ,KVI_OPTION_UINT(KviOption_uintScaleAvatarsOnLoadHeight)) : getPixmapWithCache(szP); if(!p)return 0; return new KviAvatar(p->path(),szN,new QPixmap(*(p->pixmap()))); diff --git a/src/kvirc/kernel/kvi_iconmanager.h b/src/kvirc/kernel/kvi_iconmanager.h index 88c865fa6..80ca7b2d5 100644 --- a/src/kvirc/kernel/kvi_iconmanager.h +++ b/src/kvirc/kernel/kvi_iconmanager.h @@ -477,7 +477,7 @@ public: // if szLocalPath is empty then szName can be the identification // string for the avatar // if szName is empty then it is found from szLocalPath - KviAvatar * getAvatar(const QString &szLocalPath,const QString &szName,bool bScaleIfReallyTooBig = true); + KviAvatar * getAvatar(const QString &szLocalPath,const QString &szName); void urlToCachedFileName(KviStr &szFName); void urlToCachedFileName(QString &szFName); diff --git a/src/kvirc/kernel/kvi_options.cpp b/src/kvirc/kernel/kvi_options.cpp index 01cbd7b36..7bbb898b6 100644 --- a/src/kvirc/kernel/kvi_options.cpp +++ b/src/kvirc/kernel/kvi_options.cpp @@ -303,7 +303,8 @@ KviBoolOption g_boolOptionsTable[KVI_NUM_BOOL_OPTIONS]= BOOL_OPTION("DrawGenderIcons",true,KviOption_sectFlagFrame | KviOption_resetUpdateGui | KviOption_groupTheme), BOOL_OPTION("PrependGenderInfoToRealname",true,KviOption_sectFlagConnection), BOOL_OPTION("UseIdentServiceOnlyOnConnect",true,KviOption_sectFlagConnection | KviOption_resetRestartIdentd), - BOOL_OPTION("UseSystemUrlHandlers",true,KviOption_sectFlagUrl) + BOOL_OPTION("UseSystemUrlHandlers",true,KviOption_sectFlagUrl), + BOOL_OPTION("ScaleAvatarsOnLoad",true,KviOption_sectFlagAvatar) }; @@ -615,7 +616,9 @@ KviUIntOption g_uintOptionsTable[KVI_NUM_UINT_OPTIONS]= UINT_OPTION("AutoFlushLogs",30,KviOption_sectFlagFrame ), UINT_OPTION("MinTrayLowLevelMessage",1,KviOption_sectFlagFrame ), UINT_OPTION("MinTrayHighLevelMessage",4,KviOption_sectFlagFrame ), - UINT_OPTION("IdentdOutputMode",KviIdentdOutputMode::Quiet,KviOption_sectFlagConnection ) + UINT_OPTION("IdentdOutputMode",KviIdentdOutputMode::Quiet,KviOption_sectFlagConnection ), + UINT_OPTION("ScaleAvatarsOnLoadHeight",600,KviOption_sectFlagAvatar ), + UINT_OPTION("ScaleAvatarsOnLoadWidth",800,KviOption_sectFlagAvatar ) }; #define FONT_OPTION(_name,_face,_size,_flags) \ diff --git a/src/kvirc/kernel/kvi_options.h b/src/kvirc/kernel/kvi_options.h index bf1d98b3c..fa8a12264 100644 --- a/src/kvirc/kernel/kvi_options.h +++ b/src/kvirc/kernel/kvi_options.h @@ -310,8 +310,9 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList) #define KviOption_boolPrependGenderInfoToRealname 216 #define KviOption_boolUseIdentServiceOnlyOnConnect 217 /* connection::ident */ #define KviOption_boolUseSystemUrlHandlers 218 /* Windoze only*/ +#define KviOption_boolScaleAvatarsOnLoad 219 -#define KVI_NUM_BOOL_OPTIONS 219 +#define KVI_NUM_BOOL_OPTIONS 220 @@ -551,8 +552,10 @@ DECLARE_OPTION_STRUCT(KviStringListOption,QStringList) #define KviOption_uintMinTrayLowLevelMessage 58 #define KviOption_uintMinTrayHighLevelMessage 59 #define KviOption_uintIdentdOutputMode 60 +#define KviOption_uintScaleAvatarsOnLoadHeight 61 +#define KviOption_uintScaleAvatarsOnLoadWidth 62 -#define KVI_NUM_UINT_OPTIONS 61 +#define KVI_NUM_UINT_OPTIONS 63 namespace KviIdentdOutputMode { enum Mode { diff --git a/src/modules/dcc/broker.cpp b/src/modules/dcc/broker.cpp index 66962fd38..52c0abf33 100644 --- a/src/modules/dcc/broker.cpp +++ b/src/modules/dcc/broker.cpp @@ -502,11 +502,11 @@ void KviDccBroker::recvFileManage(KviDccDescriptor * dcc) "<b>%1 [%2@%3]</b> " \ "wants to send you the file " \ "'<b>%4</b>', " \ - "<b>%5</b> bytes large.<br>" \ + "<b>%5</b> large.<br>" \ "The connection target will be host <b>%6</b> on port <b>%7</b><br>" \ ,"dcc" \ ).arg(dcc->szNick).arg(dcc->szUser).arg(dcc->szHost).arg( - dcc->szFileName).arg(dcc->szFileSize).arg( + dcc->szFileName).arg(KviQString::makeSizeReadable(dcc->szFileSize.toInt())).arg( dcc->szIp).arg(dcc->szPort); } else { @@ -515,11 +515,11 @@ void KviDccBroker::recvFileManage(KviDccDescriptor * dcc) "<b>%1 [%2@%3]</b> " "wants to send you the file " \ "'<b>%4</b>', " \ - "<b>%5</b> bytes large.<br>" \ + "<b>%5</b> large.<br>" \ "You will be the passive side of the connection.<br>" \ ,"dcc" \ ).arg(dcc->szNick).arg(dcc->szUser).arg(dcc->szHost).arg( - dcc->szFileName).arg(dcc->szFileSize); + dcc->szFileName).arg(KviQString::makeSizeReadable(dcc->szFileSize.toInt())); } if(dcc->bIsIncomingAvatar) @@ -663,13 +663,13 @@ void KviDccBroker::renameOverwriteResume(KviDccBox *box,KviDccDescriptor * dcc) { tmp = __tr2qs_ctx( \ "The file '<b>%1</b>' already exists" \ - "and is <b>%2</b> bytes large.<br>" \ + "and is <b>%2</b> large.<br>" \ "Do you wish to<br>" \ "<b>overwrite</b> the existing file,<br> " \ "<b>auto-rename</b> the new file, or<br>" \ "<b>resume</b> an incomplete download?" \ ,"dcc" \ - ).arg(dcc->szLocalFileName).arg(fi.size()); + ).arg(dcc->szLocalFileName).arg(KviQString::makeSizeReadable(fi.size())); } else { bDisableResume = true; // the file on disk is larger or equal to the remote one diff --git a/src/modules/dcc/send.cpp b/src/modules/dcc/send.cpp index fe28e6020..ba4f79f49 100644 --- a/src/modules/dcc/send.cpp +++ b/src/modules/dcc/send.cpp @@ -1231,18 +1231,18 @@ void KviDccFileTransfer::displayPaint(QPainter * p,int column,int width,int heig if(iW2 > 0)p->fillRect(5 + iL2,5,iW2,10,bIsTerminated ? QColor(150,130,110) : QColor(220,170,100)); p->fillRect(5,5,iL2,10,bIsTerminated ? QColor(140,110,110) : QColor(200,100,100)); - txt = QString(__tr2qs_ctx("%1 of %2 bytes (%3%)","dcc")).arg(iAckedBytes).arg(m_uTotalFileSize).arg(dPerc2,0,'f',2); + txt = QString(__tr2qs_ctx("%1 of %2 (%3%)","dcc")).arg(KviQString::makeSizeReadable(iAckedBytes)).arg(KviQString::makeSizeReadable(m_uTotalFileSize)).arg(dPerc2,0,'f',2); } else { // we are receiving a file or not sending acks double dPerc = (double)(((double)uTransferred) * 100.0) / (double)m_uTotalFileSize; int iL = (int) ((((double)iW) * dPerc) / 100.0); p->fillRect(5,5,iL,10,bIsTerminated ? QColor(140,110,110) : QColor(200,100,100)); - txt = QString(__tr2qs_ctx("%1 of %2 bytes (%3%)","dcc")).arg(uTransferred).arg(m_uTotalFileSize).arg(dPerc,0,'f',2); + txt = QString(__tr2qs_ctx("%1 of %2 (%3%)","dcc")).arg(KviQString::makeSizeReadable(uTransferred)).arg(KviQString::makeSizeReadable(m_uTotalFileSize)).arg(dPerc,0,'f',2); } } else { - txt = QString(__tr2qs_ctx("%1 bytes","dcc")).arg(uTransferred); + txt = QString(__tr2qs_ctx("%1","dcc")).arg(KviQString::makeSizeReadable(uTransferred)); } p->setPen(Qt::black); diff --git a/src/modules/filetransferwindow/filetransferwindow.cpp b/src/modules/filetransferwindow/filetransferwindow.cpp index dcce331b5..c607efcb8 100644 --- a/src/modules/filetransferwindow/filetransferwindow.cpp +++ b/src/modules/filetransferwindow/filetransferwindow.cpp @@ -313,7 +313,7 @@ void KviFileTransferWindow::rightButtonPressed(KviTalListViewItem *it,const QPoi if(fi.exists()) { tmp += "<nobr>"; - tmp += __tr2qs_ctx("Size: %1 bytes","filetransferwindow").arg(fi.size()); + tmp += __tr2qs_ctx("Size: %1","filetransferwindow").arg(KviQString::makeSizeReadable(fi.size())); tmp += "</nobr><br>"; } diff --git a/src/modules/http/httpfiletransfer.cpp b/src/modules/http/httpfiletransfer.cpp index c83022832..18ccb5b7d 100644 --- a/src/modules/http/httpfiletransfer.cpp +++ b/src/modules/http/httpfiletransfer.cpp @@ -211,9 +211,10 @@ void KviHttpFileTransfer::displayPaint(QPainter * p,int column,int width,int hei //iR = iW - iL; p->fillRect(5,5,iL,10,bIsTerminated ? QColor(140,110,110) : QColor(200,100,100)); - txt = QString(__tr2qs_ctx("%1 of %2 bytes (%3 %)","http")).arg(uRecvd).arg(uTotal).arg(dPerc,0,'f',2); + txt = QString(__tr2qs_ctx("%1 of %2 (%3 %)","http")).arg(KviQString::makeSizeReadable(uRecvd)) + .arg(KviQString::makeSizeReadable(uTotal)).arg(dPerc,0,'f',2); } else { - txt = QString(__tr2qs_ctx("%1 bytes","http")).arg(m_pHttpRequest->receivedSize()); + txt = KviQString::makeSizeReadable(m_pHttpRequest->receivedSize()); } p->setPen(Qt::black); diff --git a/src/modules/options/optw_avatar.cpp b/src/modules/options/optw_avatar.cpp index 287cba617..5e9ae129e 100644 --- a/src/modules/options/optw_avatar.cpp +++ b/src/modules/options/optw_avatar.cpp @@ -33,12 +33,12 @@ KviAvatarAdvancedOptionsWidget::KviAvatarAdvancedOptionsWidget(QWidget * parent) : KviOptionsWidget(parent,"avatar_advanced_options_widget") { - createLayout(3,1); + createLayout(4,1); // AVATAR // 1st Box - KviTalGroupBox *g = addGroupBox(0,0,0,0,1,Qt::Horizontal,__tr2qs_ctx("Scaling","options")); - KviBoolSelector *b = addBoolSelector(g,__tr2qs_ctx("Scale avatar images (recommended)","options"),KviOption_boolScaleAvatars); + KviTalGroupBox *g = addGroupBox(0,0,0,0,1,Qt::Horizontal,__tr2qs_ctx("Scaling in userlist","options")); + KviBoolSelector *b = addBoolSelector(g,__tr2qs_ctx("Scale avatar images in userlist (recommended)","options"),KviOption_boolScaleAvatars); #ifdef COMPILE_INFO_TIPS KviTalToolTip::add(b,__tr2qs_ctx("<center>This option will force KVIrc to scale avatars" \ " shown in the userlist.<br>" \ @@ -52,8 +52,17 @@ KviAvatarAdvancedOptionsWidget::KviAvatarAdvancedOptionsWidget(QWidget * parent) u = addUIntSelector(g,__tr2qs_ctx("Image height:","options"),KviOption_uintAvatarScaleHeight,0,512,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatars)); connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + //2nd + g = addGroupBox(0,1,0,1,1,Qt::Horizontal,__tr2qs_ctx("Scaling on load (and it user tooltips)","options")); + b = addBoolSelector(g,__tr2qs_ctx("Scale avatar images on image load","options"),KviOption_boolScaleAvatarsOnLoad); + + u = addUIntSelector(g,__tr2qs_ctx("Image width:","options"),KviOption_uintScaleAvatarsOnLoadWidth,0,1280,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatarsOnLoad)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + u = addUIntSelector(g,__tr2qs_ctx("Image height:","options"),KviOption_uintScaleAvatarsOnLoadHeight,0,1280,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatarsOnLoad)); + connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); + // 2st Box - KviTalGroupBox *gs = addGroupBox(0,1,0,1,1,Qt::Horizontal,__tr2qs_ctx("Request CTCP","options")); + KviTalGroupBox *gs = addGroupBox(0,2,0,2,1,Qt::Horizontal,__tr2qs_ctx("Request CTCP","options")); KviBoolSelector * bs = addBoolSelector(g,__tr2qs_ctx("Request missing avatars","options"),KviOption_boolRequestMissingAvatars); KviUIntSelector * us = addUIntSelector(g,__tr2qs_ctx("Maximum requested file size:","options"),KviOption_uintMaximumRequestedAvatarSize,0,1048576,102400,KVI_OPTION_BOOL(KviOption_boolRequestMissingAvatars)); @@ -111,7 +120,7 @@ KviAvatarAdvancedOptionsWidget::KviAvatarAdvancedOptionsWidget(QWidget * parent) "it helps in reducing traffic by not sending a reply that would be empty.","options")); #endif - addRowSpacer(0,2,0,2); + addRowSpacer(0,3,0,3); } KviAvatarAdvancedOptionsWidget::~KviAvatarAdvancedOptionsWidget() diff --git a/src/modules/options/optw_identity.cpp b/src/modules/options/optw_identity.cpp index e5e9be91f..27186e455 100644 --- a/src/modules/options/optw_identity.cpp +++ b/src/modules/options/optw_identity.cpp @@ -582,7 +582,7 @@ void KviIdentityAvatarOptionsWidget::chooseAvatar() { // this is an url // first check if we have it in the cache - KviAvatar * a = g_pIconManager->getAvatar(QString::null,szCurrent,false); + KviAvatar * a = g_pIconManager->getAvatar(QString::null,szCurrent); if(!a) { // no cache... try downloading diff --git a/src/win32registrar/win32registrar.h b/src/win32registrar/win32registrar.h index b5e9837aa..0d8c439c0 100644 --- a/src/win32registrar/win32registrar.h +++ b/src/win32registrar/win32registrar.h @@ -4,7 +4,7 @@ /* File created by MIDL compiler version 6.00.0366 */
-/* at Sat Apr 07 18:54:09 2007
+/* at Tue Apr 10 15:35:38 2007
*/
/* Compiler settings for .\win32registrar.idl:
Oicf, W1, Zp8, env=Win32 (32b run)
diff --git a/src/win32registrar/win32registrar_i.c b/src/win32registrar/win32registrar_i.c index 14e048f9e..becba022a 100644 --- a/src/win32registrar/win32registrar_i.c +++ b/src/win32registrar/win32registrar_i.c @@ -6,7 +6,7 @@ /* File created by MIDL compiler version 6.00.0366 */
-/* at Sat Apr 07 18:54:09 2007
+/* at Tue Apr 10 15:35:38 2007
*/
/* Compiler settings for .\win32registrar.idl:
Oicf, W1, Zp8, env=Win32 (32b run)
|
