//============================================================================= // // File : OptionsWidget_avatar.cpp // Creation date : Wed Nov 19 09:25:16 2005 GMT by Grifisx & Noldor // // This file is part of the KVIrc IRC client distribution // Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com) // // 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 option) 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 "OptionsWidget_avatar.h" #include "KviLocale.h" #include "KviSelectors.h" #include "KviOptions.h" #include "KviTalToolTip.h" OptionsWidget_avatar::OptionsWidget_avatar(QWidget * parent) : KviOptionsWidget(parent) { setObjectName("avatar_advanced_options_widget"); createLayout(); KviTalGroupBox * g; KviBoolSelector * b; g = addGroupBox(0,0,0,0,Qt::Horizontal,__tr2qs_ctx("Scaling in Userlist","options")); b = addBoolSelector(g,__tr2qs_ctx("Scale avatar images in userlist (recommended)","options"),KviOption_boolScaleAvatars); mergeTip(b,__tr2qs_ctx("This option will force KVIrc to scale avatars" \ " shown in the userlist.
" \ "Avatars will be scaled to fit the " \ "constraints set below. Better keep this option on.","options")); addBoolSelector(g,__tr2qs_ctx("Do not scale avatar if it is less than required size","options"),KviOption_boolDoNotUpscaleAvatars); KviUIntSelector *u = addUIntSelector(g,__tr2qs_ctx("Image width:","options"),KviOption_uintAvatarScaleWidth,0,512,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatars)); u->setSuffix(__tr2qs_ctx(" pixels","options")); connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); u = addUIntSelector(g,__tr2qs_ctx("Image height:","options"),KviOption_uintAvatarScaleHeight,0,512,80,KVI_OPTION_BOOL(KviOption_boolScaleAvatars)); u->setSuffix(__tr2qs_ctx(" pixels","options")); connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); g = addGroupBox(0,1,0,1,Qt::Horizontal,__tr2qs_ctx("Scaling on Load and in 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)); u->setSuffix(__tr2qs_ctx(" pixels","options")); 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)); u->setSuffix(__tr2qs_ctx(" pixels","options")); connect(b,SIGNAL(toggled(bool)),u,SLOT(setEnabled(bool))); KviTalGroupBox *gs = addGroupBox(0,2,0,2,Qt::Horizontal,__tr2qs_ctx("Request CTCP","options")); KviBoolSelector * bs = addBoolSelector(g,__tr2qs_ctx("Request missing avatars","options"),KviOption_boolRequestMissingAvatars); mergeTip(bs,__tr2qs_ctx("This option will cause KVIrc to send a DCC GET request " \ "when someone sets an avatar and there is no cached copy available.","options")); KviUIntSelector * us = addUIntSelector(g,__tr2qs_ctx("Maximum requested file size:","options"),KviOption_uintMaximumRequestedAvatarSize,0,1048576,102400, KVI_OPTION_BOOL(KviOption_boolRequestMissingAvatars)); us->setSuffix(__tr2qs_ctx(" bytes","options")); mergeTip(us,__tr2qs_ctx("This is the maximum size for avatar images that " \ "will be automatically requested.
" \ "A reasonable value might be 102400 bytes (100 K).","options")); connect(bs,SIGNAL(toggled(bool)),us,SLOT(setEnabled(bool))); bs = addBoolSelector(gs,__tr2qs_ctx("Automatically accept incoming avatars","options"),KviOption_boolAutoAcceptIncomingAvatars); mergeTip(bs,__tr2qs_ctx("This option will cause KVIrc to auto-accept " \ "DCC SEND requests for incoming avatars.
" \ "If you're using the \"Request missing avatars\" option " \ "above, enabling this may by useful.
" \ "Avatars will be saved in the local KVIrc directory.","options")); bs = addBoolSelector(gs,__tr2qs_ctx("Remember avatars for registered users","options"),KviOption_boolSetLastAvatarAsDefaultForRegisteredUsers); mergeTip(bs,__tr2qs_ctx("Use a user's last known avatar by default " \ "(only for users that are registered).","options")); us = addUIntSelector(gs,__tr2qs_ctx("Avatar offer timeout:","options"),KviOption_uintAvatarOfferTimeoutInSecs,1,99999,60); us->setSuffix(__tr2qs_ctx(" sec","options")); mergeTip(us,__tr2qs_ctx("This is the amount of time to make an avatar available for transfer when requested.
" \ "When someone sends a CTCP AVATAR request, " \ "KVIrc will reply with a CTCP AVATAR message containing the name and size " \ "of your avatar image.
" \ "A time-limited file offer is added for the image file " \ "to the requesting user.","options")); bs = addBoolSelector(gs,__tr2qs_ctx("Ignore requests if no avatar is set","options"),KviOption_boolIgnoreChannelAvatarRequestsWhenNoAvatarSet); mergeTip(bs,__tr2qs_ctx("This option will cause KVIrc to ignore channel CTCP AVATAR requests " \ "when you have no avatar set. This is usually a good practice since " \ "it helps in reducing traffic by not sending a reply that would be empty.","options")); addRowSpacer(0,3,0,3); } OptionsWidget_avatar::~OptionsWidget_avatar() { }