Russian Qt Forum
Ноябрь 22, 2024, 07:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2] 3 4   Вниз
  Печать  
Автор Тема: Как увеличить размер окно дополнения кода в QtCreator  (Прочитано 29857 раз)
b-s-a
Гость
« Ответ #15 : Январь 27, 2010, 21:25 »

vaginoid2, надеюсь ты не сделал NUMBER_OF_VISIBLE_ITEMS банально (глобальной) переменной? Просто в этом случае твои изменения будут отклонены троллями, так как стиль именования не соответствует требованиям.
Вариант SABROG тоже интересный, но не лишен потенциальных проблем. Что будет, например, если по каким-то причинам подсказка растянется так, что ухватить ее за угол. Поэтому было бы здорово, чтобы это было и настройкой, и можно было растягивать.
Записан
vaginoid2
Гость
« Ответ #16 : Январь 27, 2010, 21:49 »

NUMBER_OF_VISIBLE_ITEMS и так была глобальной переменной (однако объявлена в cpp-файле)(точнее это я ее сделал ПЕРЕМЕННОЙ, раньше она была просто define'ом).
Я просто сделал статические паблик методы доступа для этой переменной из класса, который ее использует по прямому назначению - ComplectionWidget. Эти методы вызываются во время сохранения настроек при закрытии окна опций и один раз во время создания TabSettings (пришлось это сделать принудительно, а то настрока инициализировалась только после открытия-закрытия окна опций).
Я не помню уже, какие файлы изменял, поэтому выкладываю архив всей папки .../src/plugins/texteditor.
Также для тех, кто не хочет самостоятельно собирать QtCreator, я выкладываю два файла, которыми нужно заменить старые файлы: по пути (поменяйте по аналогии) /home/zdo/qtsdk-2010.01/lib/qtcreator/plugins/Nokia лежат два файла: libCppEditor.so и libTextEditor.so. Замените их файлами из архива и запустите QtCreator. Появится новая опция как на первом скрине - изменять ее.

Сейчас сижу под Линуксом, буду в винде - проверю как работает. Или проверьте кто-нибудь, заменив собранные мной библиотеки.

ZdoPatch_src.tar.gz - сжатая папка .../src/plugins/texteditor.
ZdoPatch_bin.tar.gz - два файла, которыми нужно заменить одноименные в папке %QTSDK%/lib/qtcreator/plugins/Nokia.

Отпишитесь, кто попробовал.

И еще: объясните пожалуйста, или киньте линк, как работает схема включения внешних исходников в главную ветку у Qt (если надумаю отправлять исходники в Qt)?

http://rghost.net/899150 - ZdoPatch_bin.tar.gz (425 KB)
http://rghost.net/899152 - ZdoPatch_src.tar.gz (5 MB)

2 SABROG:
Ваш вариант тоже интересен, однако я увидел, что ширина окошка автодополнения регулируется автоматически, причем по необходимости - то есть будет ширина под максимальную длину строки.
Я решил сделать иначе, чем у Вас на картинке, поскольку опция, которую я вывел в окно настроек, просто указывает _максимальную_ высоту окна автодополнения в строках. Я лично никогда не сталкивался с необходимостью изменять размер окна автодополнения с помощью sizegrip'а.
Хотя я попробовал реализовать Ваш вариант, сделав в свойствах окна автодополнения не Popup, а Window. Да, размер стало можно изменять, но слишком большой стала строка заголовка - загораживала код. Возможно, есть способ реализовать Вашу идею иначе и грамотнее, чем это сделал я, но я решил остановиться на своем варианте.

P.S. Кстати, спасибо niXman за ссылку на rghost.ru - я не знал  Улыбающийся.
« Последнее редактирование: Январь 27, 2010, 22:08 от vaginoid2 » Записан
niXman
Гость
« Ответ #17 : Январь 27, 2010, 22:08 »

ubuntu-9.10, бинарник работает. спасибо.
неплохо бы еще в ширину изменять. а то при работе с boost мало что понятно)

Цитировать
P.S. Кстати, спасибо niXman за ссылку на rghost.ru - я не знал
всегда пожалуйста. раздаю только по блату Смеющийся никакой рекламы. возможность создавать свои коллекции файлов. так же приватные файлы поддерживаются. объем одного файла до 200мб. суммарный объем коллекции неограничен(в пределах разумного конечно Подмигивающий )

Цитировать
однако я увидел, что ширина окошка автодополнения регулируется автоматически, причем по необходимости - то есть будет ширина под максимальную длину строки.
что-то у меня ничего не расширяется Грустный
« Последнее редактирование: Январь 27, 2010, 22:22 от niXman » Записан
vaginoid2
Гость
« Ответ #18 : Январь 27, 2010, 22:29 »

Цитировать
что-то у меня ничего не расширяется
Я имел ввиду, что обновление ширины окна автодополнения происходит при:
1. Нажатии ctrl+space;
2. Печатании букав при открытом окошке автодополнения (в этом случае список сокращается под набранный шаблон).

Если же нажать ctrl+space и  прокручивать список, например, колесиком, то тогда да, ширина не изменяется под максимум.
Если я правильно понял исходник, то Вы сделали так, как я написал в предыдущем предложении. Попробуйте сделать как во втором пункте.
Записан
niXman
Гость
« Ответ #19 : Январь 27, 2010, 22:35 »

да, и правда расширяется.
еще раз спасибо.
Записан
vaginoid2
Гость
« Ответ #20 : Январь 27, 2010, 22:37 »

Пожалуйста. Сам сейчас пишу с помощью boost'а, поэтому немного удивился Вашей проблеме  Улыбающийся.
Записан
b-s-a
Гость
« Ответ #21 : Январь 27, 2010, 22:47 »

NUMBER_OF_VISIBLE_ITEMS и так была глобальной переменной (однако объявлена в cpp-файле)(точнее это я ее сделал ПЕРЕМЕННОЙ, раньше она была просто define'ом).
Разницу между макросом и переменной знаешь? По стилю кодирования принятому в Qt они должны различаться. Переменная должна быть camelCase, а макрос большими буквами с подчеркиваниями.
Статические переменные это плохо. Поэтому лучше сделать этот параметр атрибутом класса. Я понимаю, что это сложней, но это правильно. И не будет в виде костыля.
Записан
vaginoid2
Гость
« Ответ #22 : Январь 27, 2010, 22:56 »

Флаг Вам в руки.
Записан
biz_0n
Гость
« Ответ #23 : Февраль 15, 2010, 23:57 »

а возможно как-нибудь сделать авто дополнение кода не по нажатию Ctrl+Space, а автоматически?
Записан
b-s-a
Гость
« Ответ #24 : Февраль 16, 2010, 17:10 »

а возможно как-нибудь сделать авто дополнение кода не по нажатию Ctrl+Space, а автоматически?
Конечно. Допиши штатное автодополнение и добавь галочку в настройки для включения автоматического режима.
Записан
biz_0n
Гость
« Ответ #25 : Февраль 16, 2010, 19:32 »

Почему-то я ждал такого ответа, ну ладно, наверное придётся рыться в коде. Может кто-то подскажет в каком направлении копать?
Записан
b-s-a
Гость
« Ответ #26 : Февраль 16, 2010, 21:11 »

Может кто-то подскажет в каком направлении копать?
В направлении плагинов cppeditor и texteditor (completionsupport.*).
Записан
biz_0n
Гость
« Ответ #27 : Февраль 16, 2010, 21:22 »

да, спасибо. Нашёл то, что нужно в файле /src/plugins/texteditor/texteditorplugin.cpp
там есть такие строки
Код:
// Make sure the shortcut still works when the completion widget is active
    completionShortcut->setContext(Qt::ApplicationShortcut);
    Core::Command *command = am->registerShortcut(completionShortcut, Constants::COMPLETE_THIS, context);
#ifndef Q_WS_MAC
    command->setDefaultKeySequence(QKeySequence(tr("Ctrl+Space")));
#else
    command->setDefaultKeySequence(QKeySequence(tr("Meta+Space")));
#endif
    connect(completionShortcut, SIGNAL(activated()), this, SLOT(invokeCompletion()));

идея примерно такая, нужно заменить QKeySequence(tr("Ctrl+Space")) на весь алфавит, но тут возникла другая проблема, при нажатии на клавиши вызывается окно авто дополнения, но сама буква не печатается. Как с этим бороться?
Записан
b-s-a
Гость
« Ответ #28 : Февраль 17, 2010, 00:42 »

Думаю, не надо пытаться отлавливать буквы. Нужно активировать автодополнение, например, после набора 3-5 первых символов.
Записан
biz_0n
Гость
« Ответ #29 : Февраль 17, 2010, 02:06 »

ну может быть, хотя я как-то привык к мгновенно открывающемуся меню автодополнения, как-то быстрее пишется Улыбающийся
Записан
Страниц: 1 [2] 3 4   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.123 секунд. Запросов: 21.