Andrsid / myagent-im

Automatically exported from code.google.com/p/myagent-im
GNU General Public License v2.0
0 stars 0 forks source link

предложение. интерфейс окна входа #80

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
работаю в интернет клубе на Linux, почти у 
всех клиентов возникают трудности с 
авторизацией т.к. привыкли писать только 
логин, как в мобильном агенте или windows 
версии. Хотелось бы увидеть на форме 
авторизации дополнительное поле с выбором 
домена(@mail.ru, @bk.ru, @list.ru, @inbox.ru) например 
emailBoxDom.

в коде logindialog.h
строку
   //QByteArray email() const { return emailBox->currentText().toLatin1(); }
привести примерно к такому виду      
  QByteArray email() const {return (emailBox->currentText() + emailBoxDom->currentText()).toLatin1();} 
соответственно в коде logindialog.cpp поменять 
алгоритмы в соответствии с изменением.

Original issue reported on code.google.com by www.ALEX...@gmail.com on 22 May 2011 at 8:01

Attachments:

GoogleCodeExporter commented 8 years ago
Рассмотрим ;)
ЗЫ. Чтобы долго не ждать, можеш сам поменять 
в исходных кодах и скомпилить под себя. Тем 
более, судя по картинке, ты ето уже даже 
делал ;)

Original comment by abruma...@gmail.com on 23 May 2011 at 7:36

GoogleCodeExporter commented 8 years ago
В 0.4.6 будет решение вопроса. По задумке, 
неудобств старым пользователям myagent-im 
нововведение не доставит.

Original comment by abruma...@gmail.com on 26 May 2011 at 9:18

GoogleCodeExporter commented 8 years ago
Ну я это как то так выполнил
Скину, может кто то еще захочет

Original comment by kovale...@gmail.com on 3 Jun 2011 at 7:56

Attachments:

GoogleCodeExporter commented 8 years ago
Какие там файлы изменял? Только logindialog.* ?

Original comment by abruma...@gmail.com on 3 Jun 2011 at 8:25

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Да. logindialog.h и logindialog.cpp
Но в целом при выборе мейла в поле вводится 
толькон нужная часть, а @mail.ru, @inbox.ru само 
выбирается в выпадающем спске

Original comment by kovale...@gmail.com on 3 Jun 2011 at 9:32

GoogleCodeExporter commented 8 years ago
Чтобы не ждать релиза, скачай из svn текущюю 
ревизию. Там есть моё решение. Отпишись, 
устраивает такое или нет. Если нет, напиши 
почему и я учту пожелания. Может, к 0.4.6 уже 
доработаем так, чтобы "и нам и вам".

Original comment by abruma...@gmail.com on 3 Jun 2011 at 11:29

GoogleCodeExporter commented 8 years ago
Мне кажется лучше бы было сделать
Чтоб при выборе мейла из выпадающего списка
ComboBox не исчезал, а выбирал бы в себе @mail, @inbox 
и тд и тп
Ну примерная реализация есть в моих 
исходниках

Original comment by kovale...@gmail.com on 3 Jun 2011 at 12:22

GoogleCodeExporter commented 8 years ago
Но она мне кажется кривоватой.
Программировал та последний раз лет в 14.
Но там сделано так, как мне показалось бы 
удобным и практичным.

Original comment by kovale...@gmail.com on 3 Jun 2011 at 2:02

GoogleCodeExporter commented 8 years ago
Задумка знаеш какая была. Чтобы человек 
просто мог ввести свой email сразу вместе с 
собакой. Просто получается, если 
пользователь введёт с клавиатуры адрес с 
собакой получится дубляж домена в поле 
логина и в ComboBox домена.
Конечно можно сделать так, чтобы при вводе 
букв после набора с клавиатуры собаки 
фокус переключался на комбобокс домена и 
выбирался тот домен, который пользователь 
вводит с клавиатуры, но реализация етого 
сложнее.
В моём же варианте, если пользователь не 
введёт собаку в поле логина, то реализация 
будет идентичной твоей.
Как думаеш?

Original comment by abruma...@gmail.com on 7 Jun 2011 at 10:44

GoogleCodeExporter commented 8 years ago
Скомпилируйте с этим файлом и скажите, чем 
не подходит такая реализация?
PS. Брал версию из SVN

Original comment by kovale...@gmail.com on 10 Jun 2011 at 7:16

Attachments:

GoogleCodeExporter commented 8 years ago
По сути, столько строчек в slotEmailChanged() не 
надо было писать, а просто поменять строку 
51 на:
loginBox->lineEdit()->setValidator(new 
QRegExpValidator(QRegExp("([a-z]|[A-Z]|[0-9]|[_])+([a-z]|[A-Z]|[0-9]|[_\\-\\.])*
"), loginBox));
результат тот же.
А если я захочу ввести домен вручную? 
Вместе с собачкой.

Original comment by abruma...@gmail.com on 10 Jun 2011 at 7:49

GoogleCodeExporter commented 8 years ago
Дык, благодаря этим строчкам в ComboBox 
выбирается @mail.ru @inbox.ru и тд и тп
И удаляется из loginBox лишнее @mail @inbox и тд и тп
То есть
Если вы выберете VasyaPupkin@inbox.ru в выпадающем 
списке loginBox
то из loginBox будет удалено @inbox.ru и вы comboBox 
будет выбран именно этот эллемент
А смысл вводить вручную, если уже есть 
выбор в combobox какой домен ипспользовать?

Original comment by kovale...@gmail.com on 10 Jun 2011 at 10:12

GoogleCodeExporter commented 8 years ago
Смысла никакого, но де факто вводят ;) 
Несколько раз такие случаи наблюдал.
По сути, разница в наших с тобой подходах в 
том, вводить или не вводить @ в строке 
логина.
Человек, привыкший к оригинальному агенту 
ету собаку писать не будет и он даже знать 
не будет, что ComboBox исчезает. С другой 
стороны, человек, который случайно ввёл 
домен вручную не будет лишними движениями 
выбирать домен (ленивых мало, но они есть). 
Почему данная фича будет мешать?

Original comment by abruma...@gmail.com on 10 Jun 2011 at 10:25

GoogleCodeExporter commented 8 years ago
Я кажется знаю, как сделать чтоб и вам, и 
нам=)
В общем при выборе из выпадающего списка 
loginBox делать как у меня
А если человек сам ввел домен, то уже как у 
тебя

Original comment by kovale...@gmail.com on 10 Jun 2011 at 11:58

GoogleCodeExporter commented 8 years ago
Замётано ;)
Счас сделал по твоему предложению - в 
принципе, нравится ;)
Я твой код, правда, чуток переписал - 
проверка идёт через цикл. И строковые 
проверки другие.
Вот файл:

Original comment by abruma...@gmail.com on 10 Jun 2011 at 1:11

Attachments:

GoogleCodeExporter commented 8 years ago
logindialog.cpp: In constructor ‘LoginDialog::LoginDialog(QWidget*)’:
logindialog.cpp:77: error: ‘passwordHint’ was not declared in this scope
logindialog.cpp: In member function ‘void 
LoginDialog::slotSavePassChecked()’:
logindialog.cpp:205: error: ‘passwordHint’ was not declared in this scope
make[1]: *** [logindialog.o] Ошибка 1
make[1]: Выход из каталога 
`/home/alexey/agent/myagent-im-read-only/src'
make: *** [sub-src-make_default] Ошибка 2

Original comment by kovale...@gmail.com on 10 Jun 2011 at 2:26

GoogleCodeExporter commented 8 years ago
А, ну да.. У тебя старая версия была. Держи к 
нему:

Original comment by abruma...@gmail.com on 10 Jun 2011 at 2:30

Attachments:

GoogleCodeExporter commented 8 years ago
В 0.4.6 реализовано

Original comment by abruma...@gmail.com on 11 Jun 2011 at 2:19