Author Topic: (Fixed) Pressing enter on the contact list resets selection position.  (Read 7594 times)

0 Members and 1 Guest are viewing this topic.

Offline Ratha

Im a new recruit to the Miranda NG side of things, upgrading from Miranda 10.16 with TabSRMM and Classic Contact list.

With Miranda 10.16, i used to type [CTRL+I] to open my contact list, would use the arrow keys to select a person, and hit [Enter] to start a new message. (I have my settings configured so that when i send a message, the window closes.) It would remember who the last user i sent a message to was, and i could just press [CTRL+I] and [Enter] and id be typing a new message to them or could scroll up and down the list manually from my last position.

With Miranda NG 95.4 #13028 when i press [Enter] on the contact list, it seems to forget who i had selected last. Now when i press [CTRL+I] and then the up or down arrow keys, i have to scroll the entire contact list (starting from the top) to get back to the person i was just typing to instead of just pressing [CTRL+I] and [Enter].

I think whats happening here is that the 'search' functionality for the contact list has changed. When you start to type a user name it filters the list now instead of jumping around the list like it used to in Miranda IM. I believe that this is so when you open a new message (after searching) it resets the list to be ready for the next search. Its possibly a bug that it seems to reset the selection / keyboard cursor to the top of the contact list, even if you were not search/filtering the list for a username.

My questions:
1: How do i revert to the old contact list behavior of when i open a new message window it wont reset the position of my last selection on the contact list?
2: How do i change the search behavior so instead of searching for any text within a name, it searches from the beginning of the name for a match? (Typing "Nat" matches both 'Bennat' and 'Natalie' instead of just 'Natalie'.)

Thanks for any help you can provide.

-

EDIT: Fixed/Solution: The copy of Miranda 10.16 that I migrated to Miranda NG 95.4 was missing a database entry called "FilterSearch" 0x00 (0) (Byte) in the CLC section. That entry was still missing after importing into Miranda NG. Using Database Editor++ to re-create that value solved the problem.
« Last Edit: 02 05 2015, 21:56:21 by Ratha »
 

Offline White-Tiger

  • Developer
  • *****
  • Posts: 182
  • Country: 00
  • SendSS maintainer
Well.. Modern Contact List doesn't have such an issue^^ Can't say anything about Classic, but normally we keep them in sync

 

Offline Ratha

I tried classic both with and without TabSRMM and i tried clist_Modern with and without TabSRMM, both exhibit the same behavior of always resetting the position of the keyboard selection to the top of the contact list, and both exhibit the same search functionality.

With clist_modern there was an option to "Disable skin engine" in the Contact List > Window (tab) and when i checked that, it seems to fix the problem. Funny thing is that now whether i turn it on or off, it makes no difference.. i cant seem to get it to go back to being broken anymore even after disabling clist_modern and going back to the classic contact list its still fixed. Was all of this weirdness caused by a corruption in the contact list settings / database? I did an auto-import of my old contact information from Miranda 10.16.. maybe something didnt transfer properly?

-

*** Solution: It turns out that my copy of Miranda 10.16 was missing a database entry called "FilterSearch" 0x00 (0) Byte in the CLC section. That entry was still missing after being imported into Miranda NG. I manually compared, imported, edited, and changed settings until i stumbled across the fact that my fixed version of Miranda NG had 'FilterSearch 0' where as my fixed one didnt. As soon as i added that to my 'broken' client using Database Editor++. It fixed the problem.

-

Im guessing that this is a legacy conversion issue (one of possibly many?) whereby settings that didnt need to be set in the legacy client now require database entries in order to not perform some unwanted behaviors? Id really hate to think that i need to start over with a clean database. (Would a clean database even have the FilterSearch setting entry to begin with?)

Assuming that i did decide to start with a fresh database, what would be the best plugin to use to import mContacts data? (Assuming thats the format that i would want to export to, maybe theres a better one now? Does not seem like the mContacts plugin survived the migration to Miranda NG.) Alternatively is there a method to 'clear and reset all program settings' but not wipe out message history data?

EDIT: Also, is there a good reason to run the 64 bit version of Miranda over the 32 bit version at this time? 32 bit version seems more 'portable' in that it can work on both 32 and 64 bit machines, and i do have my copy of the client setup to be portable.. So what might be a few reasons someone would want to use the 64 bit version? Performance? Better handling of a 65 meg database?
« Last Edit: 30 04 2015, 11:40:12 by Ratha »
 

Offline White-Tiger

  • Developer
  • *****
  • Posts: 182
  • Country: 00
  • SendSS maintainer
About doing a clean Miranda installation:
guess it'll be fine if you'll just create a new profile with the profile manager (such as running Miranda32 /ForceShowPM) and then using the import plugin to import your history and contacts...
Optionally you could also create a new copy of Miranda itself and install all those plugins you'll need again.. but using your existing installation should be fine as well.

Though it might be best if we'll get a look at the problem you've had and fix it for others ;)

About 32bit vs 64bit ... well maybe slightly higher performance... though most devs use 64bit Miranda (I'm using 32bit)
I can't really say much about it^^ Databases and other stuff should be compatible of course ;) So switching from 64bit to 32bit or vice versa shouldn't be a problem.

 

Offline Vulpix

EDIT: Also, is there a good reason to run the 64 bit version of Miranda over the 32 bit version at this time? 32 bit version seems more 'portable' in that it can work on both 32 and 64 bit machines, and i do have my copy of the client setup to be portable.. So what might be a few reasons someone would want to use the 64 bit version? Performance? Better handling of a 65 meg database?

For me personally the only reason to use 64bit miranda was so that I could send files larger than 4GB (which you cannot do on a 32bit miranda).
 

Offline Ratha

Your comment about 4+ gig file support is definitely noteworthy. Thanks for helping to clarify about 32/64 bit versions.

For the time being I think i will stick to 32 bit for cross-platform portability and because there does not seem to be a 64 bit version of ImportTXT yet. As far as i know thats the only current import plugin capable of individually importing contact history on a per-contact basis. (Mainline Import.dll seems to only import from an existing Miranda database, and is done for all users.) That functionality is important enough to want to maintain compatibility now that mContacts seems to be gone and i dont know of any 64 bit plugins that will import text or older mContact data besides the 32-bit ImportTXT.

History++ can export in HTML, XML, RTF, mContacts, and Text, but as far as i know it cannot import. (Seems like importing the same formats it can export might be a great addition!)

Couple quick questions:

1: Are there currently any other import plugins out there besides Import and ImportTXT?
2: Are there any unified import/export plugins for contact history that function similarly to how mContacts used to?
3: What formats are recommended for exporting modern Miranda NG 0.95.4 contact history to in order to be re-imported later?

I ask because occasionally i need to export history from one client and import it back into my main client. Sometimes i may want to send my chat history to a friend after getting them to upgrade to Miranda from their old clients.
 

Offline Vulpix

Heyy I forgot about importTXT but it was the reason why I switched to x86 version myself temporarily. The main reason importTXT doesn't work on 64bit miranda is beause one of the required underlying dlls (pcre3 ? I think) doesn't have a 64bit version.

I am pretty confident that there is no real alternative to ImportTXT given the usage scenario you described (that is after all why I switched to x86 miranda for a while, to convert some old text histories and add them to specific contacts).
 

Offline Robyer

There are few plugins that allow export/import.

History++ - export only
BasicHistory - export and import (from various formats)
Import - import only (from Miranda *.dat files)
ImportTXT - import only (from various text files)
UserInfoEx - export and import (using *.xml files)

I can't say more as I didn't used them for long time, but you can try and let us know what does work and what doesn't. (Or you can even write a wiki article to let other users what's actual import/export state in NG ;) ofc if you have time and will for that).
I was developing mainly Facebook, Omegle, Steam, Dummy and MobileState plugins. Now I'm retired. Goodbye, everyone. ~ You can still find me on Facebook.
 

Offline AnrDaemon

What about mContacts ?
 

Offline Robyer

AnrDaemon, we don't have mContacts plugin in NG - there is no source code available for it anyway. That's why I didn't mention it.
I was developing mainly Facebook, Omegle, Steam, Dummy and MobileState plugins. Now I'm retired. Goodbye, everyone. ~ You can still find me on Facebook.
 

Offline watcher

BasicHistory - export and import (from various formats)

Broken the last time i checked.
Пожалуйста, внимательно прочтите правила постинга перед тем, как открыть новую тему.
Please read forum rules.
 

Offline AnrDaemon

AnrDaemon, we don't have mContacts plugin in NG - there is no source code available for it anyway. That's why I didn't mention it.
Thanks for clarification. I wasn't aware that there's no source. Bummer. :( It was my go-to plugin for export and import of contacts.
Any other suggestions? Particularly I'm looking for duplicate event checking feature.