[Konversation-devel] [Bug 132792] warning dialog for pasting large text does not update the preferences when told not to ask again
Eike Hein
sho at eikehein.com
Fri Aug 25 02:15:56 CEST 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=132792
sho eikehein com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From sho eikehein com 2006-08-25 02:15 -------
SVN commit 576858 by hein:
Handle the tri-state "Large Paste" warning correctly in the
"Warning Dialogs" prefs page.
BUG:132792
M +2 -0 ChangeLog
M +1 -1 src/commit.h
M +4 -6 src/ircinput.cpp
M +37 -7 src/warnings_preferences.cpp
--- trunk/extragear/network/konversation/ChangeLog #576857:576858
@ -182,6 +182,8 @
- Disable input box and context menus in status, query and channel tabs on dis-
connect, and purge nicklists in channels.
- Make auto-reconnect pref apply at runtime.
+- Handle the tri-state "Large Paste" warning correctly in the "Warning Dialogs"
+ prefs page.
Changes from 0.18 to 0.19
We are extremely pleased to announce the immediate release of Konversation 0.19. The focus
--- trunk/extragear/network/konversation/src/commit.h #576857:576858
@ -1,4 +1,4 @
// This COMMIT number is added to version string to be used as "patch level"
#ifndef COMMIT
-#define COMMIT 3138
+#define COMMIT 3139
#endif
--- trunk/extragear/network/konversation/src/ircinput.cpp #576857:576858
@ -458,25 +458,23 @
if(text.length()>256 || lines)
{
doPaste=KMessageBox::warningYesNoCancel
- (
- 0,
+ (this,
i18n("<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) into "
"the chat. This can cause connection resets or flood kills. "
"Do you really want to continue?</qt>").arg(text.length()).arg(lines+1),
i18n("Large Paste Warning"),
i18n("Paste"),
i18n("&Edit..."),
- "LargePaste"
- );
+ "LargePaste");
}
- if(doPaste==KMessageBox::No)
+ if (doPaste==KMessageBox::No)
{
text=MultilineEdit::edit(this,text);
return true;
}
- return(doPaste==KMessageBox::Yes);
+ return (doPaste==KMessageBox::Yes);
}
void IRCInput::showCompletionList(const QStringList& nicks)
--- trunk/extragear/network/konversation/src/warnings_preferences.cpp #576857:576858
@ -58,12 +58,33 @
QString warningsChecked;
QCheckListItem* item=static_cast<QCheckListItem*>(dialogListView->itemAtIndex(0));
- int i=0;
+ int i = 0;
while(item)
{
// save state of this item in hasChanged() list
warningsChecked+=item->isOn();
- config->writeEntry(item->text(2),item->isOn() ? "1" : "0");
+
+ if (item->text(2) == "LargePaste")
+ {
+ if (item->isOn())
+ {
+ config->writeEntry(item->text(2), 1);
+ }
+ else
+ {
+ QString state = config->readEntry(item->text(2));
+
+ if (!state.isEmpty() && (state == "yes" || state == "no"))
+ config->writeEntry(item->text(2), state);
+ else
+ config->writeEntry(item->text(2), "yes");
+ }
+ }
+ else
+ {
+ config->writeEntry(item->text(2),item->isOn() ? "1" : "0");
+ }
+
item=static_cast<QCheckListItem*>(item->itemBelow());
++i;
}
@ -75,15 +96,11 @
void Warnings_Config::loadSettings()
{
QStringList dialogDefinitions;
- //QString flagNames = "Invitation,SaveLogfileNote,ClearLogfileQuestion,CloseQueryAfterIgnore,ResumeTransfer,ReconnectDifferentServer,QuitServerTab,QuitChannelTab,QuitQueryTab,ChannelListNoServerSelected,RemoveDCCReceivedFile,HideMenuBarWarning,ChannelListWarning,LargePaste";
QString flagNames = "Invitation,SaveLogfileNote,ClearLogfileQuestion,CloseQueryAfterIgnore,ReconnectDifferentServer,QuitServerTab,QuitChannelTab,QuitQueryTab,ChannelListNoServerSelected,RemoveDCCReceivedFile,HideMenuBarWarning,ChannelListWarning,LargePaste,IgnoreNick,UnignoreNick";
dialogDefinitions.append(i18n("Automatically join channel on invite"));
dialogDefinitions.append(i18n("Notice that saving logfiles will save whole file"));
dialogDefinitions.append(i18n("Ask before deleting logfile contents"));
dialogDefinitions.append(i18n("Ask about closing queries after ignoring the nickname"));
- #if 0
- dialogDefinitions.append(i18n("Ask about what to do on DCC resume"));
- #endif
dialogDefinitions.append(i18n("Ask before connecting to a different server in the network"));
dialogDefinitions.append(i18n("Close server tab"));
dialogDefinitions.append(i18n("Close channel tab"));
@ -107,7 +124,20 @
item->setText(1,dialogDefinitions[i]);
flagName = flagNames.section(",",i,i);
item->setText(2,flagName);
- item->setOn(config->readBoolEntry(flagName,true));
+
+ if (flagName == "LargePaste")
+ {
+ QString state = config->readEntry(flagName);
+
+ if (state == "yes" || state == "no")
+ item->setOn(false);
+ else
+ item->setOn(true);
+ }
+ else
+ {
+ item->setOn(config->readBoolEntry(flagName,true));
+ }
}
// remember checkbox state for hasChanged()
m_oldWarningsChecked=currentWarningsChecked();
More information about the Konversation-devel
mailing list