Вернуться   DreamBox Satellite Forum > Обсуждение > Dreambox DM 5xxx/7xxx/8xxx/9xxx > Developer board

Developer board Раздел для разработчиков софта

Ответ
 
Опции темы

Старый 09.11.2014, 15:37   #16
Эксперт
 
Аватар для 2boom
 
2boom вне форума
Регистрация: 29.01.2010
Сообщений: 225
По умолчанию

Dobrodel, в встроенном скине в описании screen= поставить параметр
Код:
flags="wfNoBorder"
  Ответить с цитированием

Старый 09.11.2014, 18:12   #17
Дримовод
 
Dobrodel вне форума
Регистрация: 20.01.2014
Адрес: Калининград
Сообщений: 35
По умолчанию

2boom, Благодарю, работает))
Еще такая задача возникла:
Текст не переносится построчно в заданных рамках, идет как одна строка и естественно его не видно. Обозначаю поле как:
Код:
<widget  name="info" position="170,210" size="360,160" halign="center" noWrap="0" font="Regular;20" />
.....
self["info"] = ScrollLabel( '' )
self["info"].setText( self.HelpText[self.getCurrentIndex()] )
И не хочет "умно" переносить на несколько строк.
Может знаете как решить вопрос этот?
  Ответить с цитированием

Старый 09.11.2014, 18:37   #18
Эксперт
 
Аватар для 2boom
 
2boom вне форума
Регистрация: 29.01.2010
Сообщений: 225
По умолчанию

Dobrodel, что значить умно? и что мешает вставить '\n' в нужных местах, тут нужно больше инфы хотя бы, что за текст по этой функции self.getCurrentIndex() wrap работает я не сталкивался что он не работает и wrap скина имеет больший приоритет чем в плагине...

сверху правильно, но я бы добавил промежуточную переменную
text = self.HelpText[self.getCurrentIndex()
self["info"].setText(text)
  Ответить с цитированием

Старый 09.11.2014, 19:08   #19
Дримовод
 
Dobrodel вне форума
Регистрация: 20.01.2014
Адрес: Калининград
Сообщений: 35
По умолчанию

Цитата:
Сообщение от 2boom Посмотреть сообщение
что мешает вставить '\n' в нужных местах
Текст берется из потока, расставлять \n, как понимаете нет возможности (или точнее "неблагодарная" это работа).
Прошу прощения за код - взял как есть. self.HelpText[self.getCurrentIndex()] - это текст который берется из списка с текстами помощи. self.getCurrentIndex() - это текущий элемент списка в config.
Странно, почему у меня wrap не хочет работать.
Добро, буду смотреть что не так.
Благодарю за помощь посильную.
  Ответить с цитированием

Старый 09.11.2014, 23:43   #20
Эксперт
 
Аватар для 2boom
 
2boom вне форума
Регистрация: 29.01.2010
Сообщений: 225
По умолчанию

Dobrodel, а скрин можешь показать, можешь в личку, что вообще показывает, може какая идея придет в голову и попробуй из строки вообще убрать параметр noWrap

Последний раз редактировалось 2boom; 09.11.2014 в 23:49.
  Ответить с цитированием

Старый 10.11.2014, 05:16   #21
Дримовод
 
Dobrodel вне форума
Регистрация: 20.01.2014
Адрес: Калининград
Сообщений: 35
По умолчанию

Здесь привожу пример со строкой пользователя, там где берется из потока - точно такая же ситуация. Ставил разные значения noWrap и 0 и 1. Результат тот же.
Может есть какие средства управления в самом классе ScrollLabel?
Сталкивались когда либо с ними?

Код:
class ScrollLabel(HTMLComponent, GUIComponent):

    def __init__(self, text = ''):
        GUIComponent.__init__(self)
        self.step = 1
        self.steptime = 40
        self.startdelay = 3000
        self.message = text
        self.instance = None
        self.long_text = None
        self.scrollbar = None
        self.pages = None
        self.total = None
        self.text_height = None
        self.autoScroll = False
        self.updateTimer = eTimer()
        self.updateTimer.callback.append(self.lineScroll)
        self.widget_attribs = []
        self.longtext_attribs = []
        self.scrollbar_attribs = []
Изображения
Тип файла: jpg 1_0_1_3338_D_70_1680000_0_0_0.jpg (28.9 Кб, 20 просмотров)
  Ответить с цитированием

Старый 10.11.2014, 08:39   #22
Эксперт
 
Аватар для 2boom
 
2boom вне форума
Регистрация: 29.01.2010
Сообщений: 225
По умолчанию

Dobrodel,
вот работающий пример:
Код:
<widget name="text" position="10,10" size="1080,470" font="Console;22" noWrap="1" />
Код:
self["text"] = ScrollLabel("")
Код:
def preview(self):
		list = ""
		title_msg = _("No updates available")
		self.count = 0
		if len(self.result) > 0:
			for line in self.result.splitlines(True):
				list += line
				self.count += 1
			if not self.count is 0:
				title_msg = _("Update preview: %s updates aviable") % self.count
		self.setTitle(title_msg)
		self["text"].setText(list)
обрати внимание на .splitlines(True) этим тоже можно регулировать
  Ответить с цитированием

Старый 10.11.2014, 20:16   #23
Дримовод
 
Dobrodel вне форума
Регистрация: 20.01.2014
Адрес: Калининград
Сообщений: 35
По умолчанию

2boom
Благодарю, буду пробывать.

Сейчас есть вопросы по следующей задаче:
В имидже который Вы не любите упоминать, была возможность работы с изображениями через библиотеки Image или PIL.Image. В текущем имидже нет ни того, ни другого - я посмотрел пример в расширении unwetter, на который Вы мне любезно показали. Там идет работа с низкоуровневым (относительно python) классом ePicLoad. Который я, по идее, могу использовать при отображении картинки на экране исходного, скаченного ранее, jpg файла большого формата для изменения её размеров.

Ранее у меня задача упрощалась - я скачивал большую обложку сжимал её до нужных мне размеров - переводил в png, удалял исходный файл и затем уже её показывал при обновлении элемента списка. Тем самым экономил дисковое пространство, потому как, обложек этих можно качать бесконечно много.
Вопрос первый - подскажите пожалуйста, есть ли способ реализации мною описанного решения по изменению исходного размеров исходного файла?
Теперь далее, если всё же взять схему с ePicLoad, то я написал следующий код, на основе unwetter:

Код:
def resizePic( picfile, newWidth, newHeight ):

    picload = ePicLoad()
    sc = AVSwitch().getFramebufferScale()
    #  print 'Width={0}, Height={1} '.format( sc[0], sc[1] )
    picload.setPara( ( newWidth, newHeight, sc[0], sc[1], 0, 0, '#ff000000' ) )
    picload.PictureData.get()
    img = picload.startDecode( picfile )

    #  return picload.getData()
    return img
Код:
    def refreshPoster( self, elemList ):
        if elemList.kpcode != 0:
            posterFile = '{0}/{1}.jpg'.format( vpSetup.PROJECT_POSTERS_PATH,                   #  Формируем путь к файлу обложки
                                               elemList.kpcode,
                                               vpSetup.EXTENSION_PICTURES )
            if not ( 'None' in str( type( self["poster"].instance ) ) ):
                poster = vpSetup.resizePic( posterFile, vpSetup.WIDTH_POSTERS, vpSetup.HEIGHT_POSTERS )
                if poster:
                    self["poster"].instance.setPixmap( poster.__deref__() )                          #  Загружаем из файла обложку
                    self["poster"].show()
                else:
                    self["poster"].hide()
Где функция refreshPoster, которая выводит картинку обложки при изменении элемента в списке.
Однако происходит зависание без единого вывода в лог. Что необходимо подправить?
  Ответить с цитированием

Старый 10.11.2014, 20:32   #24
Эксперт
 
Аватар для 2boom
 
2boom вне форума
Регистрация: 29.01.2010
Сообщений: 225
По умолчанию

Dobrodel, что за непогода(unwetter)? я такого не знаю, и тут боюсь я не советчик, я не сталкивался (не было необходимости) с такими процедурами, как конвертация и сжатие изображений, с ePicLoad точно столкнешься с тем, что на имиджах эта штука работает по разному, то есть вывод всегда должен быть 1:1 иначе или куски картинки или пустота... надо подсматривать как другие делают, у nikolasy есть подобный твоему или похожий плагин (короче метадата к файлам) и там он решает подобные задачи, с большой вероятностью( я не смотрел)... не надо стеснятся подглядывать, открытые исходники в основном для этого и только во вторую очередь для правки....
  Ответить с цитированием

Старый 11.11.2014, 05:03   #25
Дримовод
 
Dobrodel вне форума
Регистрация: 20.01.2014
Адрес: Калининград
Сообщений: 35
По умолчанию

Благодарю за ответ.
По поводу расширения unwetter, я немного ошибся с названием, прошу прощения в оригинале было так:
Цитата:
Dobrodel, прежде чем спрашивать, можно самому попробовать)))) jpg и gif выводятся, хороший пример плагин enigma2-plugin-extensions-unwetterinfo_1 .1e_mipsel.ipk живет на ihad ....
По поводу nikolasy - я честно говоря был бы Вам очень признателен, если бы Вы мне дали ссылку на его работу, либо написали название его расширения, так как на тех форумах, которые я посещаю по спутниковому тв, пользователь с таким "ником" не встречается.

P.S.
Может быть нет необходимости "изобретать велосипед" и есть способ простого добавления необходимых библиотек в имидж на стадии установки расширения из ipk архива? Вы сталкивались с таким? Имеются ли средства в python любого имиджа, для установки дополнительных библиотек в него?

Последний раз редактировалось Dobrodel; 11.11.2014 в 05:07.
  Ответить с цитированием

Старый 11.11.2014, 07:03   #26
Эксперт
 
radu03 вне форума
Регистрация: 26.06.2011
Адрес: Кишинев
Сообщений: 382
По умолчанию

Он на гисклуб.тв-куратором ( своего имиджа)
__________________
Formuler1&Formuler3 All images
  Ответить с цитированием

Старый 11.11.2014, 19:26   #27
Дримовод
 
Dobrodel вне форума
Регистрация: 20.01.2014
Адрес: Калининград
Сообщений: 35
По умолчанию

Благодарю за наводку только нет там такого пользователя - есть nikolasi)))
Потому в первый раз я и не нашёл.
  Ответить с цитированием

Старый 11.11.2014, 21:00   #28
Эксперт
 
Аватар для Ivanyh
 
Ivanyh вне форума
Регистрация: 19.06.2009
Адрес: г. Архангельск
Сообщений: 1,596
Отправить сообщение для Ivanyh с помощью ICQ Отправить сообщение для Ivanyh с помощью Skype™
По умолчанию

Dobrodel, 2boom как раз его имел ввиду, просто опечатался.
Цитата:
Сообщение от Dobrodel Посмотреть сообщение
только нет там такого пользователя - есть nikolasi)))
__________________
DM500S(ориг.) OpenPLi-3 WiCard
DM500HD(ориг.) OpenPLi-4 WiCard
ZyXEL KEENETIC VIVA 4G
MOTECK Genuine SG-2500A (Супрал 1.2 - 75.0E-0.8W неустановлено временно) (Gibertini 1.2 мультифид - 90.0Е, 85.1E, 75.0Е) (GS 0.9 (Quad) - 36.0Е)
TV PHILIPS 42PFL 3D Smart TV HDD 3Q 1000Gb
TV Samsung PS 42E7HR
Win-8.1
  Ответить с цитированием

Старый 12.11.2014, 21:46   #29
Эксперт
 
Аватар для 2boom
 
2boom вне форума
Регистрация: 29.01.2010
Сообщений: 225
По умолчанию

Цитата:
Сообщение от Dobrodel Посмотреть сообщение
P.S.
Может быть нет необходимости "изобретать велосипед" и есть способ простого добавления необходимых библиотек в имидж на стадии установки расширения из ipk архива? Вы сталкивались с таким? Имеются ли средства в python любого имиджа, для установки дополнительных библиотек в него?
такой способ есть, только он не python, при создании ipk пакета в файлк control прописываются зависимости(depends), в которых указываются нужные пакеты и библиотеки для работы плагина, и при установке этого ipk будут автоматом подтягиваться с фида...
  Ответить с цитированием

Старый 16.11.2014, 14:04   #30
Дримовод
 
Dobrodel вне форума
Регистрация: 20.01.2014
Адрес: Калининград
Сообщений: 35
По умолчанию

Друзья, здравствуйте
Публикую доработанное расширение, под OpenPLi и ruDream, под другие прошивки не проверял. Если есть возможность проверьте пожалуйста.
Скачать можно в моем самом первом сообщении в этой теме. Версия 1.1

Были небольшие проблемки - сейчас исправил (16/11/2014 20:18)

P.S.
В данной версии, отсутствует возможность на OpenPLi сканировать выбранный канал (пока в работе).

Последний раз редактировалось Dobrodel; 16.11.2014 в 20:19.
  Ответить с цитированием
Ответ

Закладки


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор телевизора для Dreambox. leow Электроника 76 25.10.2014 15:36
Модифицированные прошивки и различные доработки xdreamer Dreambox DM 5xxx/7xxx/8xxx/9xxx 959 16.07.2011 07:42
SkyStar USB 2 HD CI & AsRock ION 330-BD PH-1 Другие ресиверы 10 14.04.2010 15:18
Сколько Вам лет? evit Общение 92 21.02.2008 22:54
Суровая реальность HDTV в России Alex7m Общение 0 23.08.2007 14:50




Часовой пояс GMT +3, время: 18:41.


vBulletin skin developed by: eXtremepixels
Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot


Спутниковое телевидение, оборудование для прима. Ресиверы Dreanbox Multimedia.
Самые актуальные обзоры новейших спутниковых ресиверов.