| Summary: | When you run Konvi, in Server list dialog, after you click Edit and change things, Konvi does not connect and stays iddle and empty | ||
|---|---|---|---|
| Product: | [Applications] konversation | Reporter: | Anne-Marie Mahfouf <annma> |
| Component: | general | Assignee: | Konversation Bugs <konversation-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Anne-Marie Mahfouf
2005-10-12 15:36:52 UTC
Ok, I investigated further and found that it is because the server is not highlighted when I come back from the dialog.
So in the code in serverlistdialog.cpp line 260 and more
while(server)
{
emit connectToServer(server->serverId());
server = static_cast<ServerListItem*>(selected.next());
}
the while is not entered.
Fix might be to highlight the server back after quitting the Edit Network dialog.
SVN commit 495164 by hein:
Select respective entry in Server List dialog after adding
or editing a network, enabling a smooth Add/Edit->Connect
interface flow.
BUG:114277
M +2 -0 ChangeLog
M +1 -1 src/commit.h
M +1 -1 src/konversationmainwindow.cpp
M +18 -2 src/serverlistdialog.cpp
M +3 -0 src/serverlistdialog.h
--- trunk/extragear/network/konversation/ChangeLog #495163:495164
@@ -22,6 +22,7 @@
- Pressing arrow down in the input line now preserves input by adding it to the history and clears the input line
- Fix infinite loop when nickname is in use
- Make /server syntax parsing more flexible by allowing both 'address:port' and 'address port'
+- Vastly improve /server IPv6 handling
- Have the /list command open the channel list panel
- Handle CABAB command correctly
- Handle IDENTIFY-MSG correctly
@@ -53,6 +54,7 @@
- Prevent addition of nameless channels and hostless servers in Edit Network
- Implemented '/topic <channel>' for retrieving the topic of arbitrary channels, provided the IRC server allows us to
- Show local file name in DCC GET status tab and DCC messages
+- Properly select relevant entry in Server List dialog after adding or editing a network
Changes from 0.17 to 0.18
- All nicks were blue when colored nicks are disabled with some setups
--- trunk/extragear/network/konversation/src/commit.h #495163:495164
@@ -1,4 +1,4 @@
// This COMMIT number is added to version string to be used as "patch level"
#ifndef COMMIT
-#define COMMIT 3046
+#define COMMIT 3047
#endif
--- trunk/extragear/network/konversation/src/konversationmainwindow.cpp #495163:495164
@@ -1758,7 +1758,7 @@
}
}
-void KonversationMainWindow::openURL(const QString& url, const QString& title)
+void KonversationMainWindow::openURL(const QString& url, const QString& /*title*/)
{
QString urlN = url;
urlN.remove("irc://");
--- trunk/extragear/network/konversation/src/serverlistdialog.cpp #495163:495164
@@ -332,6 +332,8 @@
// TODO [SERVER] Make this work!
*serverGroup = *(dlg.serverGroupSettings());
+ m_lastEditedItemId = serverGroup->id();
+
updateServerGroupList();
}
}
@@ -384,7 +386,8 @@
Preferences::addServerGroup(serverGroup);
QListViewItem* item = addListItem(serverGroup);
m_serverList->clearSelection();
- m_serverList->setSelected(item, true);
+ m_serverList->setSelected(item,true);
+ m_serverList->setCurrentItem(item);
m_serverList->ensureItemVisible(item);
}
@@ -414,8 +417,21 @@
for(it = serverGroups.begin(); it != serverGroups.end(); ++it)
{
- addListItem((*it));
+ if (m_lastEditedItemId && (*it)->id()==m_lastEditedItemId)
+ {
+ m_lastEditedItemPtr = addListItem((*it));
+ }
+ else
+ {
+ addListItem((*it));
+ }
}
+
+ if (m_lastEditedItemPtr)
+ {
+ m_serverList->setSelected(m_lastEditedItemPtr,true);
+ m_serverList->setCurrentItem(m_lastEditedItemPtr);
+ }
}
QListViewItem* ServerListDialog::addListItem(ServerGroupSettingsPtr serverGroup)
--- trunk/extragear/network/konversation/src/serverlistdialog.h #495163:495164
@@ -83,6 +83,9 @@
QPushButton* m_addButton;
QPushButton* m_editButton;
QPushButton* m_delButton;
+
+ int m_lastEditedItemId;
+ QListViewItem* m_lastEditedItemPtr;
};
}
#endif
|