середа, листопада 25, 2009

Драйвер ATI для Ubuntu.

После обновления Ubuntu до версии 9.10 и установки новой видеокарты ATI, возникла проблема с установкой драйвера для этой карты. Насколько я знаю AMD почему то не выпускает драйвера видеокарт для Ubuntu. Пришлось искать решение, с которым я и хочу здесь поделится.

Ладно, теперь перейдем собственно к процедуре установки драйвера:

  1. Скачиваем скрипт установки отсюда.
  2. В терминале вводим команду: sudo sh ./ati-driver-installer-9-7-x86.x86_64.run. Этим мы запустим скрипт установки.
  3. Ставим галочку на Install Driver... и жмем Continue.
  4. Принимаем соглашение лицензии.
  5. В следующем окне выбираем Automatic.
  6. В последнем окне жмем Exit.
  7. Далее в терминале надо ввести команду: sudo /usr/bin/aticonfig --initial.
  8. Перезагрузка.

После перезагрузки системы радуемся успешно установленому драйверу. На сегодня все.

Надеюсь что эта небольшая статья была вам полезна.

вівторок, листопада 17, 2009

Microsoft открывает исходный код .NET Micro Framework.

Случилось то о чем еще недавно нельзя было и подумать: Microsoft открывает исходный код своего крупного проекта — .NET Micro Framework.

Сегодня в ходе подготовки конференции PDC, Microsoft анонсировала не только выход новой четвертой версии .NET Micro Framework, но и объявила о том, что исходный код проекта будет выпущен под лицензией Apache 2.0.

Официальная информация доступна на разделе сайта Microsoft, посвященному open source инициативам компании.

пʼятниця, листопада 13, 2009

Пасхальные яйца

Необычное "пасхальное яйцо" в некоторых старых сканерах HP ScanJet, можно послушать класическую музыку.

вівторок, листопада 10, 2009

Поиск в QTreeView

Сегодня я раскажу как можно обеспечить поиск в QTreeView QT библиотеки. QTreeView - древовидное представление данных с возможностью редактирования (если вы реализовали делегат).

И так, начнем:

QModelIndexList indexes = ui->treeView->model()->match(ui->treeView->model()->index(0, 0), Qt::DisplayRole, QVariant( ui->editFind->text() ), -1, Qt::MatchFlags(Qt::MatchRecursive | Qt::MatchExactly | Qt::MatchFixedString | Qt::MatchWrap | Qt::MatchStartsWith));

if( !indexes.isEmpty() )
ui->treeView->setCurrentIndex( indexes.at( iCurrSearch ) );

Поиск осуществляется с помощью метода match класа QAbstractItemModel, который возвращает список найденых QModelIndex класа QModelIndexList. Далее по коду, мы просто устанавливаем курсор на найденый элемент дерева - ui->treeView->setCurrentIndex( indexes.at( iCurrSearch ) ); iCurrSearch - индекс найденого элемента.

На этом все, думаю вам не составит труда сделать поиск вперед по дереву и назад исходя из этого несложного примера.

Надеюсь статья вам пригодилась.

четвер, листопада 05, 2009

Виртуальный список в CListCtrl.

Обычно работа с выводом списков происходит следующим образом: генерируется, считывается из массива, файла, любого другого места список и выводится в CListCtrl обычным образом. Такой подход прост в реализации и удобен, но только до тех пор, пока данных не становиться слишком много, или пока процесс постоянной необходимости синхронизации не задалбливает программиста становится слишком сложным.

Хотелось бы, чтобы при любом изменении наших данных (в массиве или списке) они автоматически изменялись в элементе отображения. И это возможно. Некоторые элементы управления в Windows, такие, как ListCtrl , предоставляют нам возможность использования "виртуальных данных", то есть когда данные (или их копии) физически хранятся не в самом элементе (и даже ссылок на них нет), а в пользовательской структуре (массиве, списке, в чем угодно). В самом же элементе происходит только их отображение. Причём сама система берет на себя управление отображением только тех строк данных, которые реально видны пользователю в данный момент, что сильно увеличивает скорость работы. То есть не надо мучительно ждать, пока ползунок на скролл-баре листа наконец-то превратится в тоненькую полоску и список таки заполнится этими 65535 фамилиями, именами, отчествами и т.п. :)

понеділок, листопада 02, 2009

DoFollow блог.

Сегодня перевел блог в DoFollow. Кто не в курсе, DoFollow блоги - это блоги в которых обратная ссылка блоггера, оставляющего комментарий, открыта для индексации роботом Гугл, т.е. флаг ссылки rel выставлен в dofollow. Теперь мой блог может смело называться DoFollow блогом.

По умолчанию, ссылки комментаторов в блогах на blogspot'е выставлены с флагом nofollow.

Смело можете оставлять свои комменты вместе с ссылкой на ваш сайт (которая будет/должна проиндексирована).