diff --git a/configure.ac b/configure.ac index 8ce55ea4c..558be9e6d 100644 --- a/configure.ac +++ b/configure.ac @@ -301,6 +301,7 @@ src/nhttpd/web/Makefile src/nhttpd/web/images/Makefile src/nhttpd/web/scripts/Makefile src/nhttpd/web/languages/Makefile +src/nhttpd/web/styles/Makefile src/nhttpd/tuxboxapi/Makefile src/nhttpd/tuxboxapi/coolstream/Makefile src/nhttpd/yhttpd_core/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index b901c6053..551494d78 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -69,7 +69,6 @@ neutrino_LDADD = \ gui/widget/libneutrino_gui_widget.a \ gui/widget/libneutrino_gui_widget2.a \ driver/pictureviewer/libneutrino_pictureviewer.a \ - system/libneutrino_system.a \ $(MTDUTILSLIBS) \ gui/movieinfo.o \ gui/libneutrino_gui2.a \ @@ -85,6 +84,7 @@ neutrino_LDADD = \ nhttpd/tuxboxapi/coolstream/libnhttpd_tuxboxapi.a \ nhttpd/yhttpd_mods/libyhttpdmods.a \ nhttpd/yhttpd_core/libyhttpd.a \ + system/libneutrino_system.a \ $(top_builddir)/lib/sectionsdclient/libsectionsdclient.a \ $(top_builddir)/lib/timerdclient/libtimerdclient.a \ $(top_builddir)/src/zapit/lib/libzapitclient.a \ diff --git a/src/gui/bedit/bouqueteditor_chanselect.cpp b/src/gui/bedit/bouqueteditor_chanselect.cpp index 83b658534..c6718d3f0 100644 --- a/src/gui/bedit/bouqueteditor_chanselect.cpp +++ b/src/gui/bedit/bouqueteditor_chanselect.cpp @@ -315,7 +315,7 @@ void CBEChannelSelectWidget::initItem2DetailsLine (int pos, int /*ch_index*/) void CBEChannelSelectWidget::hide() { - if (dline) - dline->kill(); //kill details line + dline->kill(); //kill details line + ibox->kill(); CListBox::hide(); } diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index db799655a..c92dab5c3 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -37,6 +37,7 @@ #include +#include #include #include @@ -90,6 +91,7 @@ extern CBouquetManager *g_bouquetManager; static CComponentsFrmClock *headerClock = NULL; static int headerClockWidth = 0; +extern bool timeset; CChannelList::CChannelList(const char * const pName, bool phistoryMode, bool _vlist) { @@ -542,9 +544,10 @@ bool CChannelList::updateSelection(int newpos) unsigned int oldliststart = liststart; liststart = (selected/listmaxshow)*listmaxshow; - if (oldliststart != liststart) - paint(); - else { + if (oldliststart != liststart) { + paintBody(); + updateVfd(); + } else { paintItem(prev_selected - liststart); paintItem(selected - liststart); showChannelLogo(); @@ -588,10 +591,6 @@ int CChannelList::show() { int res = CHANLIST_CANCEL; - /* temporary debugging stuff */ - struct timeval t1, t2; - gettimeofday(&t1, NULL); - neutrino_msg_t msg; neutrino_msg_data_t data; bool actzap = 0; @@ -604,13 +603,8 @@ int CChannelList::show() COSDFader fader(g_settings.theme.menu_Content_alpha); fader.StartFadeIn(); - paintHead(); paint(); - gettimeofday(&t2, NULL); - fprintf(stderr, "CChannelList::show(): %llu ms to paint channellist\n", - ((t2.tv_sec * 1000000ULL + t2.tv_usec) - (t1.tv_sec * 1000000ULL + t1.tv_usec)) / 1000ULL); - int oldselected = selected; int zapOnExit = false; bool bShowBouquetList = false; @@ -634,7 +628,6 @@ int CChannelList::show() cancelMoveChannel(); } else if (edit_state) { editMode(false); - paintHead(); paint(); } else { res = CHANLIST_CANCEL; @@ -656,7 +649,6 @@ int CChannelList::show() printf("[neutrino channellist] start direct recording...\n"); hide(); if (!CRecordManager::getInstance()->Record((*chanlist)[selected]->channel_id)) { - paintHead(); paint(); } else { selected = oldselected; @@ -675,7 +667,7 @@ int CChannelList::show() { CRecordManager::getInstance()->Stop((*chanlist)[selected]->channel_id); calcSize(); - paint(); + paintBody(); } } } @@ -691,7 +683,6 @@ int CChannelList::show() res = CHANLIST_CANCEL_ALL; loop = false; } else { - paintHead(); paint(); timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_CHANLIST]); } @@ -723,7 +714,6 @@ int CChannelList::show() selected++; } if (ret != 0) { - paintHead(); paint(); } timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_CHANLIST]); @@ -784,7 +774,7 @@ int CChannelList::show() zapTo(selected); actzap = true; oldselected = selected; - paint(); // refresh zapped vs selected + paintBody(); // refresh zapped vs selected } else if(SameTP()) { zapOnExit = true; loop=false; @@ -868,7 +858,6 @@ int CChannelList::show() else displayNext = !displayNext; - paintHead(); // update button bar paint(); } } @@ -885,7 +874,6 @@ int CChannelList::show() g_settings.channellist_sort_mode = SORT_ALPHA; CNeutrinoApp::getInstance()->SetChannelMode(mode); oldselected = selected; - paintHead(); // update button bar paint(); } } @@ -904,7 +892,7 @@ int CChannelList::show() if (CZapit::getInstance()->GetPipChannelID() == (*chanlist)[selected]->getChannelID()) { g_Zapit->stopPip(); calcSize(); - paint(); + paintBody(); } else { handleMsg(NeutrinoMessages::EVT_PROGRAMLOCKSTATUS, 0x100, true); } @@ -922,7 +910,6 @@ int CChannelList::show() else g_EpgData->show((*chanlist)[selected]->channel_id); - paintHead(); paint(); } else if (msg == NeutrinoMessages::EVT_SERVICESCHANGED || msg == NeutrinoMessages::EVT_BOUQUETSCHANGED) { g_RCInput->postMsg(msg, data); @@ -1084,7 +1071,7 @@ out: #ifdef ENABLE_PIP if (CNeutrinoApp::getInstance()->StartPip((*chanlist)[selected]->getChannelID())) { calcSize(); - paint(); + paintBody(); } #endif } else @@ -1689,9 +1676,14 @@ void CChannelList::showChannelLogo() } CChannelLogo = new CComponentsChannelLogo(0, 0, logo_w_max, theight, (*chanlist)[selected]->getName(), (*chanlist)[selected]->channel_id); - CChannelLogo->setXPos(x + full_width - logo_off - CChannelLogo->getWidth()); - CChannelLogo->setYPos(y + (theight - CChannelLogo->getHeight()) / 2); - CChannelLogo->paint(); + if (CChannelLogo->hasLogo()) { + CChannelLogo->setXPos(x + full_width - logo_off - CChannelLogo->getWidth()); + CChannelLogo->setYPos(y + (theight - CChannelLogo->getHeight()) / 2); + CChannelLogo->paint(); + } else { + delete CChannelLogo; + CChannelLogo = NULL; + } headerNew = false; } } @@ -2021,19 +2013,48 @@ void CChannelList::paintItem(int pos, const bool firstpaint) //name g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST]->RenderString(x+ 5+ numwidth+ 10+prg_offset, ypos+ fheight, width- numwidth- 40- 15-prg_offset, nameAndDescription, color); } - if (curr == selected) { - if (!(chan->currentEvent.description.empty())) { - snprintf(nameAndDescription, sizeof(nameAndDescription), "%s - %s", - chan->getName().c_str(), p_event->description.c_str()); - CVFD::getInstance()->showMenuText(0, nameAndDescription, -1, true); // UTF-8 - } else - CVFD::getInstance()->showMenuText(0, chan->getName().c_str(), -1, true); // UTF-8 - } + if (!firstpaint && curr == selected) + updateVfd(); } } + +void CChannelList::updateVfd() +{ + if (selected >= (*chanlist).size()) + return; + + CZapitChannel* chan = (*chanlist)[selected]; + CChannelEvent *p_event=NULL; + if (displayNext) + p_event = &chan->nextEvent; + else + p_event = &chan->currentEvent; + + if (!(chan->currentEvent.description.empty())) { + char nameAndDescription[255]; + snprintf(nameAndDescription, sizeof(nameAndDescription), "%s - %s", + chan->getName().c_str(), p_event->description.c_str()); + CVFD::getInstance()->showMenuText(0, nameAndDescription, -1, true); // UTF-8 + } else + CVFD::getInstance()->showMenuText(0, chan->getName().c_str(), -1, true); // UTF-8 +} + +void CChannelList::paint() +{ + TIMER_START(); + paintHead(); + TIMER_STOP("CChannelList::paint() after paint head"); + paintBody(); + TIMER_STOP("CChannelList::paint() after paint body"); + updateVfd(); + TIMER_STOP("CChannelList::paint() paint total"); +} + void CChannelList::paintHead() { + static int gradient = g_settings.gradiant; + CComponentsHeader header(x, y, full_width, theight, name /*no header icon*/); if (bouquet && bouquet->zapitBouquet && bouquet->zapitBouquet->bLocked != g_settings.parentallock_defaultlocked) header.setIcon(NEUTRINO_ICON_LOCK); @@ -2042,22 +2063,23 @@ void CChannelList::paintHead() header.paint(CC_SAVE_SCREEN_NO); - if (headerClock != NULL) { + if (gradient != g_settings.gradiant && headerClock != NULL) { + gradient = g_settings.gradiant; headerClock->clearSavedScreen(); delete headerClock; headerClock = NULL; } - if (g_Sectionsd->getIsTimeSet()) { + if (timeset) { if (headerClock == NULL) { headerClock = new CComponentsFrmClock(0, 0, 0, 0, "%H:%M", true); headerClock->setClockBlink("%H %M"); headerClock->setClockIntervall(1); - headerClock->doPaintBg(false); + headerClock->doPaintBg(!gradient); + headerClock->enableTboxSaveScreen(gradient); + headerClock->setCorner(RADIUS_LARGE, CORNER_TOP_RIGHT); } - headerClock->setClockFormat("%H:%M"); headerClock->setClockFont(SNeutrinoSettings::FONT_TYPE_MENU_TITLE); - headerClock->setCorner(RADIUS_LARGE, CORNER_TOP_RIGHT); headerClock->setYPos(y); headerClock->setHeight(theight); headerClock->setTextColor(header.getTextObject()->getTextColor()); @@ -2071,11 +2093,12 @@ void CChannelList::paintHead() } else headerClockWidth = 0; + logo_off = headerClockWidth + 10; headerNew = true; } -void CChannelList::paint() +void CChannelList::paintBody() { int icon_w = 0, icon_h = 0; numwidth = g_Font[SNeutrinoSettings::FONT_TYPE_CHANNELLIST_NUMBER]->getRenderWidth(MaxChanNr()); @@ -2417,7 +2440,7 @@ void CChannelList::beginMoveChannel() void CChannelList::finishMoveChannel() { move_state = beDefault; - paint(); + paintBody(); } void CChannelList::cancelMoveChannel() @@ -2442,7 +2465,7 @@ void CChannelList::internalMoveChannel( unsigned int fromPosition, unsigned int selected = toPosition; newPosition = toPosition; - paint(); + paintBody(); } void CChannelList::deleteChannel(bool ask) @@ -2464,7 +2487,8 @@ void CChannelList::deleteChannel(bool ask) selected = chanlist->empty() ? 0 : (chanlist->size() - 1); channelsChanged = true; - paint(); + paintBody(); + updateVfd(); } void CChannelList::addChannel() @@ -2487,8 +2511,7 @@ void CChannelList::addChannel() selected = chanlist->empty() ? 0 : (chanlist->size() - 1); } delete channelSelectWidget; - paintHead(); - paint(); + paint(); } void CChannelList::renameChannel() @@ -2504,7 +2527,6 @@ void CChannelList::renameChannel() channelsChanged = true; } - paintHead(); paint(); } @@ -2560,7 +2582,7 @@ void CChannelList::moveChannelToBouquet() if (addChannelToBouquet()) deleteChannel(false); else - paint(); + paintBody(); paintHead(); } diff --git a/src/gui/channellist.h b/src/gui/channellist.h index 85944fb10..91ac932de 100644 --- a/src/gui/channellist.h +++ b/src/gui/channellist.h @@ -135,9 +135,11 @@ private: void paintItem2DetailsLine (int pos); void paintItem(int pos,const bool firstpaint = false); bool updateSelection(int newpos); - void paint(); + void paintBody(); void paintHead(); void paintButtonBar(bool is_current); + void updateVfd(); + void paint(); void hide(); void showChannelLogo(); void calcSize(); diff --git a/src/gui/components/cc_base.cpp b/src/gui/components/cc_base.cpp index a75413c8a..aea0dfe3a 100644 --- a/src/gui/components/cc_base.cpp +++ b/src/gui/components/cc_base.cpp @@ -60,6 +60,7 @@ CComponents::CComponents() : COSDFader(g_settings.theme.menu_Content_alpha) firstPaint = true; is_painted = false; paint_bg = true; + save_tbox_screen = false; cc_allow_paint = true; frameBuffer = CFrameBuffer::getInstance(); v_fbdata.clear(); diff --git a/src/gui/components/cc_base.h b/src/gui/components/cc_base.h index caeaec0a2..35d3e9437 100644 --- a/src/gui/components/cc_base.h +++ b/src/gui/components/cc_base.h @@ -114,6 +114,7 @@ class CComponents : public CComponentsSignals, public COSDFader bool is_painted; ///mode: true=activate rendering of basic elements (frame, shadow and body) bool paint_bg; + bool save_tbox_screen; ///mode: true=allows painting of item, see also allowPaint() bool cc_allow_paint; @@ -245,6 +246,8 @@ class CComponents : public CComponentsSignals, public COSDFader virtual bool isPainted(){return is_painted;} ///allows paint of elementary item parts (shadow, frame and body), similar as background, set it usually to false, if item used in a form virtual void doPaintBg(bool do_paint){paint_bg = do_paint;}; + // enable/disable CTextBox screen saving on paint + virtual void enableTboxSaveScreen(bool enable){ save_tbox_screen = enable; }; ///allow/disalows paint of item and its contents, but initialize of other properties are not touched ///this can be understood as a counterpart to isPainted(), but before paint and value of is_painted is modified temporarily till next paint of item //TODO: is this sufficiently? diff --git a/src/gui/components/cc_frm_button.cpp b/src/gui/components/cc_frm_button.cpp index cf96abe09..cb5d8b322 100644 --- a/src/gui/components/cc_frm_button.cpp +++ b/src/gui/components/cc_frm_button.cpp @@ -167,6 +167,7 @@ void CComponentsButton::initCaption() if (cc_btn_capt_obj == NULL){ cc_btn_capt_obj = new CComponentsLabel(); cc_btn_capt_obj->doPaintBg(false); + cc_btn_capt_obj->enableTboxSaveScreen(save_tbox_screen); addCCItem(cc_btn_capt_obj); } }else{ diff --git a/src/gui/components/cc_frm_clock.cpp b/src/gui/components/cc_frm_clock.cpp index 68955fbcb..1db2ac0da 100644 --- a/src/gui/components/cc_frm_clock.cpp +++ b/src/gui/components/cc_frm_clock.cpp @@ -191,6 +191,9 @@ void CComponentsFrmClock::initCCLockItems() lbl->setColorAll(col_frame, col_body, col_shadow); lbl->setText(stmp, CTextBox::CENTER, *getClockFont()); + lbl->doPaintTextBoxBg(paint_bg); + lbl->enableTboxSaveScreen(save_tbox_screen); + //use matching height for digits for better vertical centerring into form CTextBox* ctb = lbl->getCTextBoxObject(); if (ctb) @@ -285,6 +288,7 @@ bool CComponentsFrmClock::startThread() printf("[CComponentsFrmClock] [%s] pthread_create %s\n", __func__, strerror(errno)); return false; } + pthread_detach(cl_thread); } return true; } @@ -298,19 +302,20 @@ bool CComponentsFrmClock::stopThread() printf("[CComponentsFrmClock] [%s] pthread_cancel %s\n", __func__, strerror(errno)); return false; } - +#if 0 res = pthread_join(cl_thread, NULL); if (res != 0){ printf("[CComponentsFrmClock] [%s] pthread_join %s\n", __func__, strerror(errno)); return false; } +#endif } hide(); cl_thread = 0; return true; } -bool CComponentsFrmClock::Start() +bool CComponentsFrmClock::Start(bool do_save_bg) { if (!activeClock) return false; @@ -318,7 +323,7 @@ bool CComponentsFrmClock::Start() startThread(); if (cl_thread) { //ensure paint of segements on first paint - paint(); + paint(do_save_bg); paintClock = true; } return cl_thread == 0 ? false : true; diff --git a/src/gui/components/cc_frm_clock.h b/src/gui/components/cc_frm_clock.h index babb07e29..64e6a6365 100644 --- a/src/gui/components/cc_frm_clock.h +++ b/src/gui/components/cc_frm_clock.h @@ -126,7 +126,7 @@ class CComponentsFrmClock : public CComponentsForm ///stop ticking clock thread, returns true on success, if false causes log output virtual bool stopThread(); - virtual bool Start(); + virtual bool Start(bool do_save_bg = CC_SAVE_SCREEN_NO); virtual bool Stop(); ///returns true, if clock is running in thread diff --git a/src/gui/components/cc_frm_ext_text.cpp b/src/gui/components/cc_frm_ext_text.cpp index b3e3e263e..49b0613e2 100644 --- a/src/gui/components/cc_frm_ext_text.cpp +++ b/src/gui/components/cc_frm_ext_text.cpp @@ -105,6 +105,7 @@ void CComponentsExtTextForm::initLabel() if (ccx_label_obj == NULL){ ccx_label_obj = new CComponentsLabel(); ccx_label_obj->doPaintBg(false); + ccx_label_obj->enableTboxSaveScreen(save_tbox_screen); } //add label object @@ -127,6 +128,7 @@ void CComponentsExtTextForm::initText() if (ccx_text_obj == NULL){ ccx_text_obj = new CComponentsText(); ccx_text_obj->doPaintBg(false); + ccx_text_obj->enableTboxSaveScreen(save_tbox_screen); } //add text object diff --git a/src/gui/components/cc_frm_header.cpp b/src/gui/components/cc_frm_header.cpp index 36ccd3280..f24e103d0 100644 --- a/src/gui/components/cc_frm_header.cpp +++ b/src/gui/components/cc_frm_header.cpp @@ -376,6 +376,7 @@ void CComponentsHeader::initCaption() cch_text_obj->forceTextPaint(); //here required cch_text_obj->setTextColor(cch_col_text); cch_text_obj->setColorBody(col_body); + cch_text_obj->enableTboxSaveScreen(save_tbox_screen); //corner of text item cch_text_obj->setCorner(corner_rad-fr_thickness, corner_type); diff --git a/src/gui/components/cc_item_infobox.cpp b/src/gui/components/cc_item_infobox.cpp index 91e68a09b..d87dc39fb 100644 --- a/src/gui/components/cc_item_infobox.cpp +++ b/src/gui/components/cc_item_infobox.cpp @@ -143,6 +143,7 @@ void CComponentsInfoBox::paint(bool do_save_bg) cctext->doPaintTextBoxBg(ct_paint_textbg); cctext->doPaintBg(false); cctext->setTextColor(ct_col_text); + cctext->enableTboxSaveScreen(save_tbox_screen); //calculate vars for x-position and dimensions int tx = x_offset + x_text + pic_w; diff --git a/src/gui/components/cc_item_text.cpp b/src/gui/components/cc_item_text.cpp index 6fc7cb9ce..0023cd578 100644 --- a/src/gui/components/cc_item_text.cpp +++ b/src/gui/components/cc_item_text.cpp @@ -62,7 +62,7 @@ CComponentsText::CComponentsText( const int x_pos, const int y_pos, const int w, CComponentsText::~CComponentsText() { - hide(); + //hide(); clearCCText(); } @@ -146,6 +146,7 @@ void CComponentsText::initCCText() ct_textbox->setTextColor(ct_col_text); ct_textbox->setWindowMaxDimensions(iWidth, iHeight); ct_textbox->setWindowMinDimensions(iWidth, iHeight); + ct_textbox->enableSaveScreen(save_tbox_screen); //observe behavior of parent form if available bool force_text_paint = ct_force_text_paint; diff --git a/src/gui/components/cc_item_text.h b/src/gui/components/cc_item_text.h index 6fc09b7be..feeda5125 100644 --- a/src/gui/components/cc_item_text.h +++ b/src/gui/components/cc_item_text.h @@ -155,6 +155,13 @@ class CComponentsText : public CComponentsItem, public CBox ///returns count of lines from a text box page virtual int getTextLinesAutoHeight(const int& textMaxHeight, const int& textWidth, const int& mode); + // overload function from cc_base CComponents + void enableTboxSaveScreen(bool mode) + { + save_tbox_screen = mode; + if (ct_textbox) + ct_textbox->enableSaveScreen(mode); + } }; diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index de7d321a9..fc8aa12b3 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -844,6 +844,7 @@ void CNeutrinoEventList::paintDescription(int index) cc_infozone->setText(infozone_text, CTextBox::TOP, g_Font[SNeutrinoSettings::FONT_TYPE_EVENTLIST_EVENT]); cc_infozone->doPaintBg(false); + cc_infozone->doPaintTextBoxBg(true); cc_infozone->forceTextPaint(); cc_infozone->paint(CC_SAVE_SCREEN_NO); } diff --git a/src/gui/hdd_menu.cpp b/src/gui/hdd_menu.cpp index 9d22d1111..39f989caa 100644 --- a/src/gui/hdd_menu.cpp +++ b/src/gui/hdd_menu.cpp @@ -89,9 +89,9 @@ const CMenuOptionChooser::keyval HDD_SLEEP_OPTIONS[HDD_SLEEP_OPTION_COUNT] = }; devtool_s CHDDMenuHandler::devtools[] = { - { "ext2", "/sbin/fsck.ext2", "-C 1 -f -y", "/sbin/mkfs.ext2", "-T largefile -m0", false, false }, - { "ext3", "/sbin/fsck.ext3", "-C 1 -f -y", "/sbin/mkfs.ext3", "-T largefile -m0", false, false }, { "ext4", "/sbin/fsck.ext4", "-C 1 -f -y", "/sbin/mkfs.ext4", "-T largefile -m0", false, false }, + { "ext3", "/sbin/fsck.ext3", "-C 1 -f -y", "/sbin/mkfs.ext3", "-T largefile -m0", false, false }, + { "ext2", "/sbin/fsck.ext2", "-C 1 -f -y", "/sbin/mkfs.ext2", "-T largefile -m0", false, false }, { "vfat", "/sbin/fsck.vfat", "-a", "/sbin/mkfs.vfat", "", false, false }, { "exfat", "/sbin/fsck.exfat", "", "/sbin/mkfs.exfat", "", false, false }, { "xfs", "/sbin/xfs_repair", "", "/sbin/mkfs.xfs", "-f", false, false }, diff --git a/src/gui/imageinfo.cpp b/src/gui/imageinfo.cpp index 43ceb3240..c99fdd382 100644 --- a/src/gui/imageinfo.cpp +++ b/src/gui/imageinfo.cpp @@ -201,7 +201,7 @@ void CImageInfo::ShowWindow() InitInfoText(getLicenseText()); //paint window - cc_win->paint(); + cc_win->paint(CC_SAVE_SCREEN_NO); } //prepare minitv @@ -368,6 +368,7 @@ void CImageInfo::InitInfoText(const std::string& text) cc_lic = new CComponentsInfoBox(CC_CENTERED, CC_APPEND, w_body-2*item_offset, h_txt); cc_lic->setSpaceOffset(1); cc_lic->setText(text, CTextBox::TOP | CTextBox::AUTO_WIDTH | CTextBox::SCROLL, g_Font[SNeutrinoSettings::FONT_TYPE_MENU_HINT]); + cc_lic->doPaintTextBoxBg(true); //add text to container if (!cc_lic->isAdded()) @@ -381,12 +382,12 @@ void CImageInfo::ScrollLic(bool scrollDown) //get the textbox instance from infobox object and use CTexBbox scroll methods CTextBox* ctb = cc_lic->cctext->getCTextBoxObject(); if (ctb) { - ctb->enableBackgroundPaint(true); + //ctb->enableBackgroundPaint(true); if (scrollDown) ctb->scrollPageDown(1); else ctb->scrollPageUp(1); - ctb->enableBackgroundPaint(false); + //ctb->enableBackgroundPaint(false); } } } @@ -395,7 +396,7 @@ void CImageInfo::hide() { printf("[CImageInfo] [%s - %d] hide...\n", __FUNCTION__, __LINE__); if (cc_win){ - cc_win->hide(); + cc_win->kill(); Clean(); } } diff --git a/src/gui/infoclock.cpp b/src/gui/infoclock.cpp index 769276713..be6cb15a3 100644 --- a/src/gui/infoclock.cpp +++ b/src/gui/infoclock.cpp @@ -71,7 +71,13 @@ void CInfoClock::Init() else setTextColor(COL_INFOCLOCK_TEXT); - paint_bg = g_settings.infoClockBackground; + paint_bg = true; + if (g_settings.infoClockBackground) + setColorBody(COL_MENUCONTENT_PLUS_0); + else + setColorBody(COL_BACKGROUND_PLUS_0); + + setShadowOnOff(g_settings.infoClockBackground); if (g_settings.infoClockSeconds) setClockFormat("%H:%M:%S"); diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index 35a8037f4..e6cda0c1d 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -251,7 +251,7 @@ void CInfoViewer::initClock() { if (clock == NULL){ clock = new CComponentsFrmClock(); - clock->doPaintBg(false); + clock->doPaintBg(true); } clock->setColorBody(COL_INFOBAR_PLUS_0); diff --git a/src/gui/moviebrowser.cpp b/src/gui/moviebrowser.cpp index 401efac60..7a29dc0f3 100644 --- a/src/gui/moviebrowser.cpp +++ b/src/gui/moviebrowser.cpp @@ -1265,7 +1265,7 @@ void CMovieBrowser::refreshMovieInfo(void) old_EpgId = m_movieSelectionHandler->epgEpgId >>16; } - if (CChannelLogo) { + if (CChannelLogo && CChannelLogo->hasLogo()) { lx = m_cBoxFrame.iX+m_cBoxFrameTitleRel.iX+m_cBoxFrameTitleRel.iWidth-CChannelLogo->getWidth()-10; ly = m_cBoxFrameTitleRel.iY+m_cBoxFrame.iY+ (m_cBoxFrameTitleRel.iHeight-CChannelLogo->getHeight())/2; CChannelLogo->setXPos(lx - pb_hdd_offset); diff --git a/src/gui/plugins.cpp b/src/gui/plugins.cpp index 16884282d..503408eae 100644 --- a/src/gui/plugins.cpp +++ b/src/gui/plugins.cpp @@ -193,6 +193,8 @@ bool CPlugins::parseCfg(plugin *plugin_data) plugin_data->index = sindex++; plugin_data->key = CRCInput::RC_nokey; + plugin_data->name = ""; + plugin_data->description = ""; #if 0 plugin_data->fb = false; plugin_data->rc = false; @@ -228,14 +230,24 @@ bool CPlugins::parseCfg(plugin *plugin_data) { plugin_data->key = getPluginKey(parm); } - else if (cmd == "name") + else if (cmd == "name." + g_settings.language) { plugin_data->name = parm; } - else if (cmd == "desc") + else if (cmd == "name") + { + if (plugin_data->name.empty()) + plugin_data->name = parm; + } + else if (cmd == "desc." + g_settings.language) { plugin_data->description = parm; } + else if (cmd == "desc") + { + if (plugin_data->description.empty()) + plugin_data->description = parm; + } else if (cmd == "depend") { plugin_data->depend = parm; @@ -295,6 +307,9 @@ bool CPlugins::parseCfg(plugin *plugin_data) inFile.close(); + if (plugin_data->name.empty()) + plugin_data->name = plugin_data->filename; + _hintIcon = plugin_data->plugindir + "/" + plugin_data->hinticon + ".png"; if (access(_hintIcon.c_str(), F_OK) == 0) plugin_data->hinticon = _hintIcon; diff --git a/src/gui/timeosd.cpp b/src/gui/timeosd.cpp index 8912373e8..57f136eb4 100644 --- a/src/gui/timeosd.cpp +++ b/src/gui/timeosd.cpp @@ -100,6 +100,17 @@ void CTimeOSD::show(time_t time_show, bool force) if (!force && (m_mode == MODE_HIDE || m_time_show == time_show)) return; m_time_show = time_show; + + syncSysColors(); + + paint_bg = true; + if (g_settings.infoClockBackground) + setColorBody(COL_MENUCONTENT_PLUS_0); + else + setColorBody(COL_BACKGROUND_PLUS_0); + + setShadowOnOff(g_settings.infoClockBackground); + paint(false); } diff --git a/src/gui/widget/textbox.cpp b/src/gui/widget/textbox.cpp index 2b56027db..021c4cd95 100644 --- a/src/gui/widget/textbox.cpp +++ b/src/gui/widget/textbox.cpp @@ -73,7 +73,7 @@ CTextBox::CTextBox(const char * text, Font* font_text, const int pmode, const CBox* position, CFBWindow::color_t textBackgroundColor) { - //TRACE("[CTextBox] new\r\n"); + //TRACE("[CTextBox] new %d\n", __LINE__); initVar(); if(text != NULL) @@ -109,7 +109,7 @@ CTextBox::CTextBox(const char * text, Font* font_text, const int pmode, CTextBox::CTextBox(const char * text) { - //TRACE("[CTextBox] new\r\n"); + //TRACE("[CTextBox] new %d\r", __LINE__); initVar(); if(text != NULL) @@ -123,7 +123,7 @@ CTextBox::CTextBox(const char * text) CTextBox::CTextBox() { - //TRACE("[CTextBox] new\r\n"); + //TRACE("[CTextBox] new %d\n", __LINE__); initVar(); //Initialise the window frames first and than refresh text line array @@ -134,7 +134,7 @@ CTextBox::~CTextBox() { //TRACE("[CTextBox] del\r\n"); m_cLineArray.clear(); - hide(); + //hide(); delete[] m_bgpixbuf; } @@ -179,6 +179,7 @@ void CTextBox::initVar(void) m_textColor = COL_MENUCONTENT_TEXT; m_old_textColor = 0; m_nPaintBackground = true; + m_SaveScreen = false; m_nBgRadius = m_old_nBgRadius = 0; m_nBgRadiusType = m_old_nBgRadiusType = CORNER_ALL; @@ -562,14 +563,14 @@ void CTextBox::refreshText(void) //destroy pixel buffer on changed property values if (has_changed){ if (m_bgpixbuf){ - //TRACE("[CTextBox] %s destroy ol pixel buffer, has changes%d\r\n", __FUNCTION__, __LINE__); + //TRACE("[CTextBox] %s destroy ol pixel buffer, has changes %d\r\n", __FUNCTION__, __LINE__); delete[] m_bgpixbuf; m_bgpixbuf = NULL; } } //save screen only if no paint of background required - if (!m_nPaintBackground){ + if (!m_nPaintBackground && m_SaveScreen) { if (m_bgpixbuf == NULL){ //TRACE("[CTextBox] %s save bg %d\r\n", __FUNCTION__, __LINE__); m_bgpixbuf= new fb_pixel_t[dx * dy]; diff --git a/src/gui/widget/textbox.h b/src/gui/widget/textbox.h index 704001592..9f8f76172 100644 --- a/src/gui/widget/textbox.h +++ b/src/gui/widget/textbox.h @@ -147,6 +147,7 @@ class CTextBox int m_nBgRadius; int m_nBgRadiusType; bool m_nPaintBackground; + bool m_SaveScreen; Font* m_pcFontText; int m_nFontTextHeight; @@ -178,6 +179,7 @@ class CTextBox void scrollPageDown(const int pages); void scrollPageUp(const int pages); void enableBackgroundPaint(bool mode = true){m_nPaintBackground = mode;}; + void enableSaveScreen(bool mode = true){m_SaveScreen = mode;}; bool setText(const std::string* newText, int max_width = 0, bool force_repaint = true); void setTextColor(fb_pixel_t color_text){ m_textColor = color_text;}; void setBackGroundRadius(const int radius, const int type = CORNER_ALL){m_nBgRadius = radius; m_nBgRadiusType = type;}; diff --git a/src/nhttpd/tuxboxapi/coolstream/neutrinoyparser.cpp b/src/nhttpd/tuxboxapi/coolstream/neutrinoyparser.cpp index d8373f243..8e0a24d01 100644 --- a/src/nhttpd/tuxboxapi/coolstream/neutrinoyparser.cpp +++ b/src/nhttpd/tuxboxapi/coolstream/neutrinoyparser.cpp @@ -415,7 +415,7 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std: (channel->getServiceType() == ST_NVOD_REFERENCE_SERVICE) ? " (NVOD)" : "", channel->getChannelID(), channel->getChannelID() & 0xFFFFFFFFFFFFULL, - ((NeutrinoAPI->ChannelListEvents[channel->getChannelID()]) ? "\"Program" : "")); + ((NeutrinoAPI->ChannelListEvents[channel->getChannelID()]) ? "\"Program" : "")); if (channel->getChannelID() == current_channel) yresult += string_printf("\n  \"Streaminfo\""); diff --git a/src/nhttpd/tuxboxapi/dbox/neutrinoyparser.cpp b/src/nhttpd/tuxboxapi/dbox/neutrinoyparser.cpp index 844d31c0e..9eba2014b 100644 --- a/src/nhttpd/tuxboxapi/dbox/neutrinoyparser.cpp +++ b/src/nhttpd/tuxboxapi/dbox/neutrinoyparser.cpp @@ -367,7 +367,7 @@ std::string CNeutrinoYParser::func_get_bouquets_with_epg(CyhookHandler *hh, std: channel->name, (channel->service_type == ST_NVOD_REFERENCE_SERVICE) ? " (NVOD)" : "", channel->channel_id, - ((NeutrinoAPI->ChannelListEvents[channel->channel_id]) ? "\"Programmvorschau\"" : "")); + ((NeutrinoAPI->ChannelListEvents[channel->channel_id]) ? "\"Programmvorschau\"" : "")); if (channel->channel_id == current_channel) yresult += string_printf("\n  \"Streaminfo\""); diff --git a/src/nhttpd/web/Makefile.am b/src/nhttpd/web/Makefile.am index a7b0dff3f..f57da3938 100644 --- a/src/nhttpd/web/Makefile.am +++ b/src/nhttpd/web/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = images scripts languages +SUBDIRS = images scripts languages styles installdir = $(DATADIR)/neutrino/httpd @@ -20,6 +20,7 @@ install_DATA = channels.js \ Y_Boxcontrol_Channellist.yhtm \ Y_Boxcontrol_Menue.yhtm \ Y_Boxcontrol_Messages.yhtm \ + Y_Dist.css \ Y_Dyn_Pages.yhtm \ Y_EPG.js \ Y_EPG_Plus.yhtm \ @@ -59,7 +60,6 @@ install_DATA = channels.js \ Y_Settings_neutrino_forms.yhtm \ Y_Settings_nhttpd.yhtm \ Y_Settings_personalize.yhtm \ - Y_Settings_Skin.yhtm \ Y_Settings_Timer.yhtm \ Y_Settings_umount_liste.yhtm \ Y_Settings_video_audio.yhtm \ @@ -85,9 +85,17 @@ install_DATA = channels.js \ Y_Tools_Timer_Sync.js \ Y_Tools_Timer_Sync.yhtm \ Y_Tools_tvshot.yhtm \ + Y_User.css \ Y_Version.txt \ Y_VLC.js \ Y_Wait.yhtm \ ywidget.css \ ywidget.js \ Y_yweb.js + +# file manager +install_DATA += accordion.js \ + effects.js \ + Y_Filemgr.yhtm \ + Y_Filemgr_Edit.yhtm \ + Y_Filemgr_blocks.txt diff --git a/src/nhttpd/web/Y_About.yhtm b/src/nhttpd/web/Y_About.yhtm index 151e2c46d..ad022b42c 100644 --- a/src/nhttpd/web/Y_About.yhtm +++ b/src/nhttpd/web/Y_About.yhtm @@ -10,13 +10,13 @@
- - + + diff --git a/src/nhttpd/web/Y_Blocks.txt b/src/nhttpd/web/Y_Blocks.txt index 12c71185c..4d8624a17 100644 --- a/src/nhttpd/web/Y_Blocks.txt +++ b/src/nhttpd/web/Y_Blocks.txt @@ -30,6 +30,7 @@ start-block~yWeb_save_settings {=ini-set:/var/tuxbox/config/Y-Web.conf;wol_desc_3;{=wol_desc_3=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;fb;{=fb=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;start_page;{=start_page=}~cache=} +{=ini-set:/var/tuxbox/config/Y-Web.conf;style;{=style=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;yweb_box_name;{=yweb_box_name=}~cache=} {=ini-set:/var/tuxbox/config/Y-Web.conf;yweb_box_color;{=yweb_box_color=}~save=} end-block~yWeb_save_settings @@ -271,6 +272,8 @@ start-block~head yWeb + + end-block~head # ------- Lay-HEAD @@ -282,6 +285,8 @@ start-block~headCache yWeb + + end-block~headCache # ------- Lay-HEAD without charset @@ -292,6 +297,8 @@ start-block~head_no_charset yWeb + + end-block~head_no_charset # ------- Lay-Frame HEAD @@ -302,6 +309,8 @@ start-block~frame_head + +yWeb end-block~frame_head @@ -313,6 +322,8 @@ start-block~frame_iso_head + +yWeb end-block~frame_iso_head @@ -402,7 +413,7 @@ end-block~frame_main start-block~page_frame_rest {=include-block:Y_Blocks.txt;head=} - + end-block~page_frame_rest @@ -582,69 +593,69 @@ end-block~rc_cst_v1 # ------- Remote CST V2 (NEO) start-block~rc_cst_v2 -remote +remote - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + end-block~rc_cst_v2 # ------ Remote CST V3 (ZEE, NEO2) start-block~rc_cst_v3 {=var-set:rcu=rc_cst_v3=} -remote +remote {=include-block:Y_Blocks.txt;map_rc_cst_v3_v4=} end-block~rc_cst_v3 # ------ Remote CST V4 (NEO TWIN) start-block~rc_cst_v4 {=var-set:rcu=rc_cst_v4=} -remote +remote {=include-block:Y_Blocks.txt;map_rc_cst_v3_v4=} end-block~rc_cst_v4 @@ -727,7 +738,7 @@ end-block~map_rc_cst_v3_v4 # ------- Remote CST V5 (TANK) start-block~rc_cst_v5 -remote +remote standby @@ -790,7 +801,7 @@ end-block~rc_cst_v5 # ------- Remote CST V6 (TRINITY) start-block~rc_cst_v6 -remote +remote standby mute @@ -856,7 +867,7 @@ end-block~rc_cst_v6 # ------- Remote d-Box Nokia old start-block~rc_dbox_nokia_old -remote +remote @@ -889,7 +900,7 @@ end-block~rc_dbox_nokia_old # ------- Remote d-Box Philips/Sagem start-block~rc_dbox_philips -remote +remote diff --git a/src/nhttpd/web/Y_Boxcontrol_Bouquetlist.yhtm b/src/nhttpd/web/Y_Boxcontrol_Bouquetlist.yhtm index 1a2ed2e66..a75677bab 100644 --- a/src/nhttpd/web/Y_Boxcontrol_Bouquetlist.yhtm +++ b/src/nhttpd/web/Y_Boxcontrol_Bouquetlist.yhtm @@ -1,7 +1,7 @@ {=include-block:Y_Blocks.txt;head_no_charset=} - +
yjogolyWebyWeb by yjogol
  - {=ini-get:{=var-get:vf=};version=} - {=ini-get:{=var-get:vf=};date=} - {=ini-get:{=var-get:vf=};type=}

- {=ini-get:{=var-get:vf=};info=}


+ v{=ini-get:{=var-get:vf=};version=} - {=ini-get:{=var-get:vf=};date=} - {=ini-get:{=var-get:vf=};type=} - {=ini-get:{=var-get:vf=};info=} +

diff --git a/src/nhttpd/web/Y_Boxcontrol_Channellist.yhtm b/src/nhttpd/web/Y_Boxcontrol_Channellist.yhtm index b51b6f0e7..70fc17378 100644 --- a/src/nhttpd/web/Y_Boxcontrol_Channellist.yhtm +++ b/src/nhttpd/web/Y_Boxcontrol_Channellist.yhtm @@ -16,7 +16,7 @@ function do_streaminfo() { //]]> - +
{=L:bc.channels=}

{=func:get_bouquets_with_epg {=bouquet=}=}
diff --git a/src/nhttpd/web/Y_Boxcontrol_Menue.yhtm b/src/nhttpd/web/Y_Boxcontrol_Menue.yhtm index 027dc585d..9430e5096 100644 --- a/src/nhttpd/web/Y_Boxcontrol_Menue.yhtm +++ b/src/nhttpd/web/Y_Boxcontrol_Menue.yhtm @@ -174,7 +174,7 @@ function get_data(){ - +
...

@@ -195,7 +195,7 @@ function get_data(){ - + @@ -214,7 +214,7 @@ function get_data(){ - +
...
@@ -223,7 +223,7 @@ function get_data(){ - +
...
diff --git a/src/nhttpd/web/Y_Dist.css b/src/nhttpd/web/Y_Dist.css new file mode 100644 index 000000000..35f1301dc --- /dev/null +++ b/src/nhttpd/web/Y_Dist.css @@ -0,0 +1,6 @@ +/* + Tuxbox yWeb Style - Do not modify. + + When you're a distributor, use your own styles/Y_Dist-.css file. + When you're a user, use Y_User.css. +*/ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr.yhtm b/src/nhttpd/web/Y_Filemgr.yhtm old mode 100755 new mode 100644 similarity index 98% rename from src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr.yhtm rename to src/nhttpd/web/Y_Filemgr.yhtm index 38bdff8cb..42ddd9bce --- a/src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr.yhtm +++ b/src/nhttpd/web/Y_Filemgr.yhtm @@ -1,5 +1,4 @@ {=include-block:Y_Blocks.txt;head=} - @@ -77,7 +76,7 @@ CyExplorer.prototype = { else fnamestr = ""+fp.get('fname')+""; /* if(editlink != "") - fdate = ""+fp.get('date'); + fdate = ""+fp.get('date'); */ var file_cell = new Element( 'td',{name: 'file'}).update(fnamestr); mycurrent_row.insert(file_cell); @@ -482,7 +481,7 @@ function prop_plugin_img(fullfname) function prop_plugin_ts(fullfname) { $('ext_title').update("Stream File"); - var html="start vlc"; + var html="start vlc"; $('ext_content').update(html); $('ext_diag').show(); } @@ -553,7 +552,7 @@ function do_download(){ } function do_edit(){ if($F('ftype') != "d") - window.open("/Y_Ext_Filemgr_Edit.yhtm?file="+explorer.build_fname(),"edit", "width=800,height=600,resizable=yes"); + window.open("/Y_Filemgr_Edit.yhtm?file="+explorer.build_fname(),"edit", "width=800,height=600,resizable=yes"); else alert("you can not edit a directory"); } @@ -576,8 +575,8 @@ function ni() { - - + + @@ -693,7 +692,7 @@ function ni() {
- + diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr_Edit.yhtm b/src/nhttpd/web/Y_Filemgr_Edit.yhtm similarity index 90% rename from src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr_Edit.yhtm rename to src/nhttpd/web/Y_Filemgr_Edit.yhtm index e6990ba39..53c920441 100644 --- a/src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr_Edit.yhtm +++ b/src/nhttpd/web/Y_Filemgr_Edit.yhtm @@ -1,5 +1,4 @@ {=include-block:Y_Blocks.txt;head=} - - + {=var-set:wait_text={=L:get_epg=}=}{=include-block:Y_Blocks.txt;snip_show_wait=} - + diff --git a/src/nhttpd/web/Y_Live_EPG_Info.yhtm b/src/nhttpd/web/Y_Live_EPG_Info.yhtm index f976167f0..c109d09e7 100644 --- a/src/nhttpd/web/Y_Live_EPG_Info.yhtm +++ b/src/nhttpd/web/Y_Live_EPG_Info.yhtm @@ -11,7 +11,7 @@ function show_info(_desc, _info1, _info2){ {=L:back=} - +
 
 
diff --git a/src/nhttpd/web/Y_Main.css b/src/nhttpd/web/Y_Main.css index f6e44e168..2a4142672 100644 --- a/src/nhttpd/web/Y_Main.css +++ b/src/nhttpd/web/Y_Main.css @@ -43,7 +43,7 @@ button[ytype]{ button[ytype="save"]{background-image:url(/images/save.png);} button[ytype="saveall"]{background-image:url(/images/saveall.png);} button[ytype="cancel"]{background-image:url(/images/cross.png);} -button[ytype="refresh"],button[ytype="reboot"]{background-image:url(/images/reload.gif);} +button[ytype="refresh"],button[ytype="reboot"]{background-image:url(/images/reload.png);} button[ytype="record"]{background-image:url(/images/record.png);} button[ytype="zap"]{background-image:url(/images/zap.png);} button[ytype="timeup"]{background-image:url(/images/time_up.png);} @@ -53,7 +53,7 @@ button[ytype="snapshot"]{background-image:url(/images/snapshot.png);} button[ytype="clearshot"]{background-image:url(/images/remove.png);} button[ytype="switchrc"]{background-image:url(/images/fb.png);} button[ytype="go"]{background-image:url(/images/accept.png);} -button[ytype="download"]{background-image:url(/images/wget.gif);} +button[ytype="download"]{background-image:url(/images/wget.png);} button[ytype="clear"]{background-image:url(/images/remove.png);} button[ytype="add"]{background-image:url(/images/new.png);} button[ytype="delete"]{background-image:url(/images/remove.png);} @@ -306,6 +306,10 @@ tr { -webkit-border-radius: 5px; -moz-border-radius: 5px; } +.work_box .work_box { + margin: 0; + padding: 0; +} .work_box_head { margin: 0; padding: 0; @@ -552,7 +556,7 @@ tr { .y_text_boxcontrol_table { width:114px; height: 23px; - background: url('/images/audiobar.gif') no-repeat 1px 1px; + background: url('/images/audiobar.png') no-repeat 1px 1px; padding: 1px; margin-top: 10px; border: #FF8e42 solid 1px; @@ -581,6 +585,12 @@ tr { margin-top: 5px; margin-bottom: -1px; } +#audiobar_right, +#sigbar_right, +#snrbar_right { + background-color: #ffffff; +} + .y_epg_info { border: 1px solid #CCCCCC; background-color: white; @@ -954,3 +964,61 @@ img#shot { img#shot:hover { cursor: pointer; } + +/* Filemgr */ +.diag { + border: 1px solid #bbbbbb; + border-collapse: collapse; + background-color: #eeeeee; + margin-left: 10px; + margin-top: 10px; +} +.toolbar td { + border: 1px solid #cccccc; + width: 20px; + height: 20px; + text-align: center; +} +.toolbar img { + border:0; +} +.toolbar td:hover { + background-color: #dddddd; +} +.button { + border: 1px solid #cccccc; + width: 40px; + height: 20px; + text-align: center; +} +.button:hover { + background-color: #dddddd; +} +.mform { + empty-cells:show; +} + +.filelist a { + text-decoration:underline; +} +.box { + border: 1px solid #cccccc; + empty-cells:show; +} +.epginfo2 { + font-size: 8pt; +} +.detail_title { + border: 1px solid #cccccc; + font-weight: bold; + background-color: #ffffff; +} +.detail_title_active { + border: 1px solid #cccccc; + font-weight: bold; + background-color: #eeeeee; +} +.detail_img { + max-width: 300px; + max-height:300px; +} diff --git a/src/nhttpd/web/Y_Menue.yhtm b/src/nhttpd/web/Y_Menue.yhtm index 121d3e5b7..fe461bf6b 100644 --- a/src/nhttpd/web/Y_Menue.yhtm +++ b/src/nhttpd/web/Y_Menue.yhtm @@ -75,7 +75,7 @@ function vlc() { @@ -101,18 +101,20 @@ function vlc() { title="{=L:main.tools_desc=}">{=L:main.tools=}
  • {=L:main.settings=}
  • +
  • {=L:main.info=}
  • - + + + + +
       {=L:date=}{=L:from=}{=L:to=}{=L:program=}
    - - + + - + diff --git a/src/nhttpd/web/Y_Settings_Menue.yhtm b/src/nhttpd/web/Y_Settings_Menue.yhtm index 7a27aa57c..041b56271 100644 --- a/src/nhttpd/web/Y_Settings_Menue.yhtm +++ b/src/nhttpd/web/Y_Settings_Menue.yhtm @@ -44,7 +44,6 @@ function init(){ {=var-set:m_link_text={=L:set.menue.timer_settings=}=} {=include-block:Y_Blocks.txt;management_link=} -
    Neutrino
    diff --git a/src/nhttpd/web/Y_Settings_Skin.yhtm b/src/nhttpd/web/Y_Settings_Skin.yhtm deleted file mode 100644 index deeed572b..000000000 --- a/src/nhttpd/web/Y_Settings_Skin.yhtm +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - -
    -
    Skin {=var-set:help_url=Neutrino:yWeb:Settings#Skins=}{=include-block:Y_Blocks.txt;wiki_help=}
    -
    -
    - - - - - - - -
    Skin 
    -
    - -
    -
    - - \ No newline at end of file diff --git a/src/nhttpd/web/Y_Settings_yWeb.yhtm b/src/nhttpd/web/Y_Settings_yWeb.yhtm index bf3a914ab..e3d9a8d14 100644 --- a/src/nhttpd/web/Y_Settings_yWeb.yhtm +++ b/src/nhttpd/web/Y_Settings_yWeb.yhtm @@ -5,8 +5,25 @@ // + {=var-set:wait_text={=L:save_values=}=}{=include-block:Y_Blocks.txt;snip_wait=} @@ -104,11 +128,21 @@ function do_init(){
    {=L:set.yweb.start_page=} + +
    Styles + +

    @@ -118,7 +152,6 @@ function do_init(){ - {=include-block:Y_Blocks.txt;management_check_bottom=} diff --git a/src/nhttpd/web/Y_Timer_List.yhtm b/src/nhttpd/web/Y_Timer_List.yhtm index f09907fc7..d79a6409f 100644 --- a/src/nhttpd/web/Y_Timer_List.yhtm +++ b/src/nhttpd/web/Y_Timer_List.yhtm @@ -47,7 +47,7 @@
    - Aktualisieren + Aktualisieren
    diff --git a/src/nhttpd/web/Y_Tools_Menue.yhtm b/src/nhttpd/web/Y_Tools_Menue.yhtm index aa4a47799..f48381c41 100644 --- a/src/nhttpd/web/Y_Tools_Menue.yhtm +++ b/src/nhttpd/web/Y_Tools_Menue.yhtm @@ -23,7 +23,6 @@ function init(){
    {=L:main.tools=}
      - {=if-not-equal:{=global-var-get:boxtype=}~coolstreamm~
    • {=if-empty:{=var-get:automount=}~ {=L:tools.automount=} @@ -40,7 +39,12 @@ function init(){ {=var-set:m_link_text={=L:tools.mounts=}=} {=include-block:Y_Blocks.txt;management_link=}
    • - ~=} +
    • + {=var-set:m_link_href=Y_Filemgr.yhtm=} + {=var-set:m_link_desc={=L:tools.filemgr_desc=}=} + {=var-set:m_link_text={=L:tools.filemgr=}=} + {=include-block:Y_Blocks.txt;management_link=} +
    • {=if-empty:{=var-get:ether-wake=}~ {=L:tools.wake_on_lan=} diff --git a/src/nhttpd/web/Y_Tools_Screenshot.yhtm b/src/nhttpd/web/Y_Tools_Screenshot.yhtm index 5051e5b27..14dfde13e 100644 --- a/src/nhttpd/web/Y_Tools_Screenshot.yhtm +++ b/src/nhttpd/web/Y_Tools_Screenshot.yhtm @@ -110,7 +110,7 @@ function do_switchrc_txt(){
    - +
    {=include-block:Y_Blocks.txt;remote=} diff --git a/src/nhttpd/web/Y_User.css b/src/nhttpd/web/Y_User.css new file mode 100644 index 000000000..aea4ab400 --- /dev/null +++ b/src/nhttpd/web/Y_User.css @@ -0,0 +1,10 @@ +/* Y_User.css - User style sheet for yWeb */ + +/* +body { + background-color: #eee; +} +body.iframe { + background-color: #fff; +} +*/ diff --git a/src/nhttpd/web/Y_Version.txt b/src/nhttpd/web/Y_Version.txt index 1dd7f9347..39f8ecf2c 100644 --- a/src/nhttpd/web/Y_Version.txt +++ b/src/nhttpd/web/Y_Version.txt @@ -1,4 +1,4 @@ -version=2.8.0.67 -date=05.12.2014 +version=2.9.0.12 +date=04.03.2015 type=Release info=Port CST diff --git a/src/nhttpd/web/Y_blank.htm b/src/nhttpd/web/Y_blank.htm index fc906f34e..8eac065ed 100644 --- a/src/nhttpd/web/Y_blank.htm +++ b/src/nhttpd/web/Y_blank.htm @@ -4,8 +4,10 @@ yWeb + + + - diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/accordion.js b/src/nhttpd/web/accordion.js similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/accordion.js rename to src/nhttpd/web/accordion.js diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/effects.js b/src/nhttpd/web/effects.js similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/effects.js rename to src/nhttpd/web/effects.js diff --git a/src/nhttpd/web/extentions/filemgr/filemgr_uninstall.inc b/src/nhttpd/web/extentions/filemgr/filemgr_uninstall.inc deleted file mode 100644 index e4949884c..000000000 --- a/src/nhttpd/web/extentions/filemgr/filemgr_uninstall.inc +++ /dev/null @@ -1,44 +0,0 @@ -# =========================================================== -# yWeb SDK: Extention Unnstaller Include -# Extention Name: filemgr -# by yjogol -# ----------------------------------------------------------- -# $Date: 2007-12-29 17:08:16 $ -# $Revision: 1.3 $ -# =========================================================== - -yI_updatename="yWeb-Extension filemgr (02.02.2008)" -yI_Ext_Tag="filemgr" -yI_Ext_Version="1-0-0" -yI_uninstall_log="$y_path_tmp/uninstall_filemgr.log" -yI_uninstaller="filemgr_uninstall.inc" - -uninstall() -{ - rm $y_ywebover_dir/Y_Ext_Filemgr.yhtm - rm $y_ywebover_dir/Y_Ext_Filemgr.css - rm $y_ywebover_dir/Y_Ext_Filemgr_Edit.yhtm - rm $y_ywebover_dir/Y_Ext_Filemgr_blocks.txt -# rm $y_ywebover_dir/accordion.js -# rm $y_ywebover_dir/effects.js - rm $y_ywebover_dir/scripts/Y_NAS* - rm $y_ywebover_dir/images/chmod.png - rm $y_ywebover_dir/images/copy.gif - rm $y_ywebover_dir/images/cut.png -# rm $y_ywebover_dir/images/delete.gif - rm $y_ywebover_dir/images/dir_up.gif - rm $y_ywebover_dir/images/download.png - rm $y_ywebover_dir/images/folder_add.png - rm $y_ywebover_dir/images/ftype_file.png - rm $y_ywebover_dir/images/ftype_folder.png - rm $y_ywebover_dir/images/ftype_link.png - rm $y_ywebover_dir/images/home.png - rm $y_ywebover_dir/images/package.png - rm $y_ywebover_dir/images/page_edit.png - rm $y_ywebover_dir/images/paste.gif - rm $y_ywebover_dir/images/picture.png - rm $y_ywebover_dir/images/rename.gif - rm $y_ywebover_dir/images/text.png - rm $y_ywebover_dir/images/upload.png - rm $y_ywebover_dir/images/work.gif -} diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr.css b/src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr.css deleted file mode 100644 index dadb0f40c..000000000 --- a/src/nhttpd/web/extentions/filemgr/files/httpd/Y_Ext_Filemgr.css +++ /dev/null @@ -1,56 +0,0 @@ -.diag { - border: 1px solid #bbbbbb; - border-collapse: collapse; - background-color: #eeeeee; - margin-left: 10px; - margin-top: 10px; -} -.toolbar td { - border: 1px solid #cccccc; - width: 20px; - height: 20px; - text-align: center; -} -.toolbar img { - border:0; -} -.toolbar td:hover { - background-color: #dddddd; -} -.button { - border: 1px solid #cccccc; - width: 40px; - height: 20px; - text-align: center; -} -.button:hover { - background-color: #dddddd; -} -.mform { - empty-cells:show; -} - -.filelist a{ - text-decoration:underline; -} -.box { - border: 1px solid #cccccc; - empty-cells:show; -} -.epginfo2{ - font-size: 8pt; -} -.detail_title{ - border: 1px solid #cccccc; - font-weight: bold; - background-color: #ffffff; -} -.detail_title_active{ - border: 1px solid #cccccc; - font-weight: bold; - background-color: #eeeeee; -} -.detail_img { - max-width: 300px; - max-height:300px; -} diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/dir_up.gif b/src/nhttpd/web/extentions/filemgr/files/httpd/images/dir_up.gif deleted file mode 100755 index 5394cc438..000000000 Binary files a/src/nhttpd/web/extentions/filemgr/files/httpd/images/dir_up.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/properties.gif b/src/nhttpd/web/extentions/filemgr/files/httpd/images/properties.gif deleted file mode 100755 index 963ead1c9..000000000 Binary files a/src/nhttpd/web/extentions/filemgr/files/httpd/images/properties.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/rename.gif b/src/nhttpd/web/extentions/filemgr/files/httpd/images/rename.gif deleted file mode 100755 index 0b2bcc665..000000000 Binary files a/src/nhttpd/web/extentions/filemgr/files/httpd/images/rename.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/save.png b/src/nhttpd/web/extentions/filemgr/files/httpd/images/save.png deleted file mode 100755 index 99d532e8b..000000000 Binary files a/src/nhttpd/web/extentions/filemgr/files/httpd/images/save.png and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/install.inc b/src/nhttpd/web/extentions/filemgr/install.inc deleted file mode 100644 index cf97d93ef..000000000 --- a/src/nhttpd/web/extentions/filemgr/install.inc +++ /dev/null @@ -1,20 +0,0 @@ -# =========================================================== -# yWeb SDK: Extention Installer Include -# Extention Name: filemgr -# by yjogol -# ----------------------------------------------------------- -# $Date: 2007-12-29 10:11:37 $ -# $Revision: 1.2 $ -# =========================================================== - -yI_updatename="yWeb-Extension filemgr (02.02.2008)" -yI_Ext_Tag="filemgr" -yI_Ext_Version="1-0-0" -yI_install_log="$y_path_tmp/install_filemgr.log" -yI_uninstaller="filemgr_uninstall.sh" - -install() -{ - cp -r /tmp/files/httpd/* $y_ywebover_dir - chmod 755 $y_ywebover_dir/scripts/*.sh -} diff --git a/src/nhttpd/web/extentions/filemgr/install.sh b/src/nhttpd/web/extentions/filemgr/install.sh deleted file mode 100755 index 2ce6a4f0e..000000000 --- a/src/nhttpd/web/extentions/filemgr/install.sh +++ /dev/null @@ -1,143 +0,0 @@ -# =========================================================== -# yWeb Extension: Install an Extension -# by yjogol -# ----------------------------------------------------------- -# $Date: 2007-12-29 10:11:37 $ -# $Revision: 1.3 $ -# ----------------------------------------------------------- -# Script starts in /tmp -# =========================================================== - -# ----------------------------------------------------------- -# Installer Configs -# ----------------------------------------------------------- -yI_Version="$Revision: 1.3 $" - -# ----------------------------------------------------------- -# Dirs -# ----------------------------------------------------------- -y_path_usrbin="/var/bin" -y_path_config="/var/tuxbox/config" -y_path_tmp="/tmp" -y_ywebover_dir="/var/httpd" -y_ext_conf_dir="$y_path_config/ext" - -# ----------------------------------------------------------- -# Files -# ----------------------------------------------------------- -y_config_Y_Web="$y_path_config/Y-Web.conf" -y_config_nhttpd="$y_path_config/nhttpd.conf" -y_config_neutrino="$y_path_config/neutrino.conf" -y_upload_file="$y_path_tmp/upload.tmp" - -# =========================================================== -# config-Dateien - lesen / schreiben -# (Zeilenformat: VarName=VarValue) -# =========================================================== -cfg="" -# ----------------------------------------------------------- -# config-Datei lesen/cachen (Inhalt in $cfg) -# $1=config-Filename -# ----------------------------------------------------------- -config_open() -{ - cfg="" - cfg=`cat $1` -} -# ----------------------------------------------------------- -# config-Datei schreiben (Inhalt in $cfg) -# $1=config-Filename -# ----------------------------------------------------------- -config_write() -{ - echo "$cfg" >$1 -} -# ----------------------------------------------------------- -# Variablenwert zurueckgeben (vorher open) -# $1=VarName -# ----------------------------------------------------------- -config_get_value() -{ - cmd="sed -n /^$1=/p" - tmp=`echo "$cfg" | $cmd` - cmd="sed -e s/^$1=//1" - tmp=`echo "$tmp" | $cmd` - echo $tmp -} -# ----------------------------------------------------------- -# Variablenwert zurueckgeben (ohne open) -# $1=config-Filename -# $2=VarName -# ----------------------------------------------------------- -config_get_value_direct() -{ - config_open $1 - config_get_value $2 -} -# ----------------------------------------------------------- -# Variablenwert setzen (vorher open) -# $1=VarName) -# $2=VarValue -# ----------------------------------------------------------- -config_set_value() -{ - tmp=`echo "$cfg" | sed -n "/^$1=.*/p"` - if [ "$tmp" = "" ] - then - cfg=`echo -e "$cfg\n$1=$2"` - else - cmd="sed -e s/^$1=.*/$1=$2/g" - cfg=`echo "$cfg" | $cmd` - fi -} -# ----------------------------------------------------------- -# Variablenwert zurueckgeben (ohne open) -# $1=config-Filename -# $2=VarName) -# $3=VarValue -# ----------------------------------------------------------- -config_set_value_direct() -{ - config_open $1 - config_set_value $2 $3 - config_write $1 -} - -# =========================================================== -# Initialization -# =========================================================== -. ./install.inc -hp=`config_get_value_direct "$y_config_nhttpd" "WebsiteMain.override_directory"` -if [ "$hp" != "" ]; then - y_ywebover_dir=`echo "$hp"` -fi -mkdir -p $y_ywebover_dir -chmod -R oug+rw $y_ywebover_dir - -# ----------------------------------------------------------- -# prepare log -# ----------------------------------------------------------- -date +%y%m%d_%H%M%S >"$yI_install_log" -echo "" >>yI_install_log -echo "installing $yI_updatename [$yI_Ext_Tag/$yI_Ext_Version]" >>"yI_install_log" -echo "installdir: $y_ywebover_dir" - -# ----------------------------------------------------------- -# Install (from install.inc) -# ----------------------------------------------------------- -install - -# ----------------------------------------------------------- -# finishing -# ----------------------------------------------------------- -mkdir -p $y_ext_conf_dir -chmod oug+rw $y_ext_conf_dir -chmod 755 ./uninstall* -cp ./uninstall.sh "$y_ext_conf_dir/" -cp ./*uninstall.inc "$y_ext_conf_dir/" - -# ----------------------------------------------------------- -# Clean Up -# ----------------------------------------------------------- -cd /tmp -rm -r /tmp/files diff --git a/src/nhttpd/web/extentions/filemgr/uninstall.sh b/src/nhttpd/web/extentions/filemgr/uninstall.sh deleted file mode 100755 index ec83bbc95..000000000 --- a/src/nhttpd/web/extentions/filemgr/uninstall.sh +++ /dev/null @@ -1,136 +0,0 @@ -# =========================================================== -# yWeb Extension: Unnstall an Extension -# by yjogol -# ----------------------------------------------------------- -# $Date: 2007-12-29 17:08:16 $ -# $Revision: 1.4 $ -# ----------------------------------------------------------- -# Script starts in /tmp -# =========================================================== - -# ----------------------------------------------------------- -# Installer Configs -# ----------------------------------------------------------- -yI_Version="$Revision: 1.4 $" - -# ----------------------------------------------------------- -# Dirs -# ----------------------------------------------------------- -y_path_usrbin="/var/bin" -y_path_config="/var/tuxbox/config" -y_path_tmp="/tmp" -y_ywebover_dir="/var/httpd" -y_ext_conf_dir="$y_path_config/ext" - -# ----------------------------------------------------------- -# Files -# ----------------------------------------------------------- -y_config_Y_Web="$y_path_config/Y-Web.conf" -y_config_nhttpd="$y_path_config/nhttpd.conf" -y_config_neutrino="$y_path_config/neutrino.conf" -y_upload_file="$y_path_tmp/upload.tmp" - -# =========================================================== -# config-Dateien - lesen / schreiben -# (Zeilenformat: VarName=VarValue) -# =========================================================== -cfg="" -# ----------------------------------------------------------- -# config-Datei lesen/cachen (Inhalt in $cfg) -# $1=config-Filename -# ----------------------------------------------------------- -config_open() -{ - cfg="" - cfg=`cat $1` -} -# ----------------------------------------------------------- -# config-Datei schreiben (Inhalt in $cfg) -# $1=config-Filename -# ----------------------------------------------------------- -config_write() -{ - echo "$cfg" >$1 -} -# ----------------------------------------------------------- -# Variablenwert zurueckgeben (vorher open) -# $1=VarName -# ----------------------------------------------------------- -config_get_value() -{ - cmd="sed -n /^$1=/p" - tmp=`echo "$cfg" | $cmd` - cmd="sed -e s/^$1=//1" - tmp=`echo "$tmp" | $cmd` - echo $tmp -} -# ----------------------------------------------------------- -# Variablenwert zurueckgeben (ohne open) -# $1=config-Filename -# $2=VarName -# ----------------------------------------------------------- -config_get_value_direct() -{ - config_open $1 - config_get_value $2 -} -# ----------------------------------------------------------- -# Variablenwert setzen (vorher open) -# $1=VarName) -# $2=VarValue -# ----------------------------------------------------------- -config_set_value() -{ - tmp=`echo "$cfg" | sed -n "/^$1=.*/p"` - if [ "$tmp" = "" ] - then - cfg=`echo -e "$cfg\n$1=$2"` - else - cmd="sed -e s/^$1=.*/$1=$2/g" - cfg=`echo "$cfg" | $cmd` - fi -} -# ----------------------------------------------------------- -# Variablenwert zurueckgeben (ohne open) -# $1=config-Filename -# $2=VarName) -# $3=VarValue -# ----------------------------------------------------------- -config_set_value_direct() -{ - config_open $1 - config_set_value $2 $3 - config_write $1 -} - -# =========================================================== -# Initialization -# =========================================================== -. $y_ext_conf_dir/$1 -hp=`config_get_value_direct "$y_config_nhttpd" "WebsiteMain.override_directory"` -if [ "$hp" != "" ]; then - y_ywebover_dir=`echo "$hp"` -fi -mkdir -p $y_ywebover_dir - -# ----------------------------------------------------------- -# prepare log -# ----------------------------------------------------------- -date +%y%m%d_%H%M%S >"$yI_uninstall_log" -echo "" >>"$yI_uninstall_log" -echo "uninstalling $yI_updatename [$yI_Ext_Tag/$yI_Ext_Version]" >>"$yI_uninstall_log" -#echo "installdir: $y_ywebover_dir" - -# ----------------------------------------------------------- -# Uninstall (from uninstal_.inc) -# ----------------------------------------------------------- -uninstall - -# ----------------------------------------------------------- -# finishing -# ----------------------------------------------------------- -rm $y_ext_conf_dir/$1 - -# ----------------------------------------------------------- -# Clean Up -# ----------------------------------------------------------- diff --git a/src/nhttpd/web/extentions/hddtools/files/httpd/scripts/Y_Ext_hddtools.sh b/src/nhttpd/web/extentions/hddtools/files/httpd/scripts/Y_Ext_hddtools.sh index ee8003009..4e8646c36 100755 --- a/src/nhttpd/web/extentions/hddtools/files/httpd/scripts/Y_Ext_hddtools.sh +++ b/src/nhttpd/web/extentions/hddtools/files/httpd/scripts/Y_Ext_hddtools.sh @@ -14,7 +14,8 @@ disc1="/dev/ide/host0/bus0/target0/lun0/disc" y_format_message_html() { tmp="" - tmp="$tmp " + tmp="$tmp " + tmp="$tmp " tmp="$tmp
    Results
    " tmp="$tmp
    \n$msg\n
    " diff --git a/src/nhttpd/web/images/LICENSE b/src/nhttpd/web/images/LICENSE index 71f5be81e..602161b52 100644 --- a/src/nhttpd/web/images/LICENSE +++ b/src/nhttpd/web/images/LICENSE @@ -1,19 +1,11 @@ -Same pictures used are form the Tuxbox Community: -Published under GPL v2 -- rc_dbox_nokia_old.jpg : Jonny Spitzner -- rc_dbox_philips.jpg : Jonny Spitzner -- tux.gif : from wiki.tuxbox.org - From Johannes Golombek yjogol@online.de: Published under GPL v2 -- y.png -- audiobar.gif +- audiobar.png - blank.gif -- help_white.gif From old (before yWeb): Published under GPL v2 -- elist.gif +- elist.png - streaminfo.png All others are from Mark James (www.famfamfam.com) diff --git a/src/nhttpd/web/images/Makefile.am b/src/nhttpd/web/images/Makefile.am index a2c2c2015..b516013b1 100644 --- a/src/nhttpd/web/images/Makefile.am +++ b/src/nhttpd/web/images/Makefile.am @@ -1,26 +1,18 @@ installdir = $(DATADIR)/neutrino/httpd/images install_DATA = accept.png \ - addfolder.gif \ alert.gif \ - arrowdown.gif \ arrowdown.png \ arrowleft.png \ arrowright.png \ - arrowup.gif \ arrowup.png \ - audiobar.gif \ + audiobar.png \ blank.gif \ - check_green.gif \ - chmod.gif \ - comment.gif \ + check_green.png \ comment.png \ cross.png \ - delete.gif \ - download.gif \ - elist.gif \ + elist.png \ epg.png \ - excl_yellow.gif \ exlink.gif \ ext_add.png \ ext_delete.png \ @@ -39,43 +31,30 @@ install_DATA = accept.png \ ftype_link.gif \ fullscreen.png \ help.gif \ - help_white.gif \ - hidden.gif \ - hidden.png \ - home-dir.gif \ - hourglas.gif \ info.png \ inlink.gif \ - live.gif \ - livelock.png \ live.png \ - live_popup.gif \ live_popup.png \ + livelock.png \ liveunlock.png \ - lock.gif \ - lock.png \ modify.png \ - new.gif \ new.png \ ok.gif \ pause.png \ play.png \ popup.png \ - properties.gif \ properties.png \ radio.png \ rc_cst_v1.jpg \ - rc_cst_v2.jpg \ - rc_cst_v3.jpg \ - rc_cst_v4.jpg \ - rc_cst_v5.jpg \ - rc_cst_v6.jpg \ - rc_dbox_nokia_old.jpg \ - rc_dbox_philips.jpg \ - record.gif \ + rc_cst_v2.png \ + rc_cst_v3.png \ + rc_cst_v4.png \ + rc_cst_v5.png \ + rc_cst_v6.png \ + rc_dbox_nokia_old.png \ + rc_dbox_philips.png \ record.png \ - reload.gif \ - remotescreen.gif \ + reload.png \ remove.png \ rename.gif \ saveall.png \ @@ -89,23 +68,35 @@ install_DATA = accept.png \ timer.gif \ time_up.png \ transcode.png \ - tux.gif \ - tux-yweb.gif \ + tux-yweb.png \ udp_switch_off.png \ udp_switch_on.png \ - unlock.gif \ - unlock.png \ - upload.gif \ - visible.gif \ - visible.png \ - vlc.gif \ + vlc.png \ volumedown.png \ volumemute.png \ volumeunmute.png \ volumeup.png \ wait.gif \ - wget.gif \ - x_red.gif \ - yjogol.gif \ - y.png \ + wget.png \ + x_red.png \ zap.png + +# file manager +install_DATA += chmod.png \ + copy.gif \ + cut.png \ + dir_up.png \ + download.png \ + film.png \ + folder_add.png \ + ftype_file.png \ + ftype_folder.png \ + ftype_link.png \ + home.png \ + package.png \ + page_edit.png \ + paste.gif \ + picture.png \ + text.png \ + upload.png \ + work.gif diff --git a/src/nhttpd/web/images/addfolder.gif b/src/nhttpd/web/images/addfolder.gif deleted file mode 100755 index b191cc40e..000000000 Binary files a/src/nhttpd/web/images/addfolder.gif and /dev/null differ diff --git a/src/nhttpd/web/images/arrowdown.gif b/src/nhttpd/web/images/arrowdown.gif deleted file mode 100644 index 76941dab9..000000000 Binary files a/src/nhttpd/web/images/arrowdown.gif and /dev/null differ diff --git a/src/nhttpd/web/images/arrowup.gif b/src/nhttpd/web/images/arrowup.gif deleted file mode 100644 index 505dab69a..000000000 Binary files a/src/nhttpd/web/images/arrowup.gif and /dev/null differ diff --git a/src/nhttpd/web/images/audiobar.gif b/src/nhttpd/web/images/audiobar.gif deleted file mode 100644 index 45974b211..000000000 Binary files a/src/nhttpd/web/images/audiobar.gif and /dev/null differ diff --git a/src/nhttpd/web/images/audiobar.png b/src/nhttpd/web/images/audiobar.png new file mode 100644 index 000000000..00d21ebd9 Binary files /dev/null and b/src/nhttpd/web/images/audiobar.png differ diff --git a/src/nhttpd/web/images/check_green.gif b/src/nhttpd/web/images/check_green.gif deleted file mode 100644 index 243b99b51..000000000 Binary files a/src/nhttpd/web/images/check_green.gif and /dev/null differ diff --git a/src/nhttpd/web/images/check_green.png b/src/nhttpd/web/images/check_green.png new file mode 100644 index 000000000..e8316bd95 Binary files /dev/null and b/src/nhttpd/web/images/check_green.png differ diff --git a/src/nhttpd/web/images/chmod.gif b/src/nhttpd/web/images/chmod.gif deleted file mode 100755 index 5710725f6..000000000 Binary files a/src/nhttpd/web/images/chmod.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/chmod.png b/src/nhttpd/web/images/chmod.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/chmod.png rename to src/nhttpd/web/images/chmod.png diff --git a/src/nhttpd/web/images/comment.gif b/src/nhttpd/web/images/comment.gif deleted file mode 100644 index 76db53250..000000000 Binary files a/src/nhttpd/web/images/comment.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/copy.gif b/src/nhttpd/web/images/copy.gif old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/copy.gif rename to src/nhttpd/web/images/copy.gif diff --git a/src/nhttpd/web/images/cross.png b/src/nhttpd/web/images/cross.png index 1514d51a3..cf92a2839 100644 Binary files a/src/nhttpd/web/images/cross.png and b/src/nhttpd/web/images/cross.png differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/cut.png b/src/nhttpd/web/images/cut.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/cut.png rename to src/nhttpd/web/images/cut.png diff --git a/src/nhttpd/web/images/delete.gif b/src/nhttpd/web/images/delete.gif deleted file mode 100755 index 5a74564d0..000000000 Binary files a/src/nhttpd/web/images/delete.gif and /dev/null differ diff --git a/src/nhttpd/web/images/dir_up.png b/src/nhttpd/web/images/dir_up.png new file mode 100644 index 000000000..61c870466 Binary files /dev/null and b/src/nhttpd/web/images/dir_up.png differ diff --git a/src/nhttpd/web/images/download.gif b/src/nhttpd/web/images/download.gif deleted file mode 100755 index f43af17b6..000000000 Binary files a/src/nhttpd/web/images/download.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/download.png b/src/nhttpd/web/images/download.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/download.png rename to src/nhttpd/web/images/download.png diff --git a/src/nhttpd/web/images/elist.gif b/src/nhttpd/web/images/elist.gif deleted file mode 100644 index d5281c0ee..000000000 Binary files a/src/nhttpd/web/images/elist.gif and /dev/null differ diff --git a/src/nhttpd/web/images/elist.png b/src/nhttpd/web/images/elist.png new file mode 100644 index 000000000..253521aa5 Binary files /dev/null and b/src/nhttpd/web/images/elist.png differ diff --git a/src/nhttpd/web/images/excl_yellow.gif b/src/nhttpd/web/images/excl_yellow.gif deleted file mode 100644 index e604db74e..000000000 Binary files a/src/nhttpd/web/images/excl_yellow.gif and /dev/null differ diff --git a/src/nhttpd/web/images/fb.png b/src/nhttpd/web/images/fb.png index e08d81e8b..583b3c8f9 100644 Binary files a/src/nhttpd/web/images/fb.png and b/src/nhttpd/web/images/fb.png differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/film.png b/src/nhttpd/web/images/film.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/film.png rename to src/nhttpd/web/images/film.png diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/folder_add.png b/src/nhttpd/web/images/folder_add.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/folder_add.png rename to src/nhttpd/web/images/folder_add.png diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/ftype_file.png b/src/nhttpd/web/images/ftype_file.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/ftype_file.png rename to src/nhttpd/web/images/ftype_file.png diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/ftype_folder.png b/src/nhttpd/web/images/ftype_folder.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/ftype_folder.png rename to src/nhttpd/web/images/ftype_folder.png diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/ftype_link.png b/src/nhttpd/web/images/ftype_link.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/ftype_link.png rename to src/nhttpd/web/images/ftype_link.png diff --git a/src/nhttpd/web/images/help_white.gif b/src/nhttpd/web/images/help_white.gif deleted file mode 100644 index c8aa83cf1..000000000 Binary files a/src/nhttpd/web/images/help_white.gif and /dev/null differ diff --git a/src/nhttpd/web/images/hidden.gif b/src/nhttpd/web/images/hidden.gif deleted file mode 100644 index 0dde1842b..000000000 Binary files a/src/nhttpd/web/images/hidden.gif and /dev/null differ diff --git a/src/nhttpd/web/images/hidden.png b/src/nhttpd/web/images/hidden.png deleted file mode 100644 index fc5d6139e..000000000 Binary files a/src/nhttpd/web/images/hidden.png and /dev/null differ diff --git a/src/nhttpd/web/images/home-dir.gif b/src/nhttpd/web/images/home-dir.gif deleted file mode 100755 index 949be9d22..000000000 Binary files a/src/nhttpd/web/images/home-dir.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/home.png b/src/nhttpd/web/images/home.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/home.png rename to src/nhttpd/web/images/home.png diff --git a/src/nhttpd/web/images/hourglas.gif b/src/nhttpd/web/images/hourglas.gif deleted file mode 100644 index 1345110a8..000000000 Binary files a/src/nhttpd/web/images/hourglas.gif and /dev/null differ diff --git a/src/nhttpd/web/images/live.gif b/src/nhttpd/web/images/live.gif deleted file mode 100755 index 3f0c7c72a..000000000 Binary files a/src/nhttpd/web/images/live.gif and /dev/null differ diff --git a/src/nhttpd/web/images/live.png b/src/nhttpd/web/images/live.png index 1738a4f10..9c031714e 100755 Binary files a/src/nhttpd/web/images/live.png and b/src/nhttpd/web/images/live.png differ diff --git a/src/nhttpd/web/images/live_popup.gif b/src/nhttpd/web/images/live_popup.gif deleted file mode 100755 index c1022b2b6..000000000 Binary files a/src/nhttpd/web/images/live_popup.gif and /dev/null differ diff --git a/src/nhttpd/web/images/live_popup.png b/src/nhttpd/web/images/live_popup.png index 2baaad99e..0079b14a6 100755 Binary files a/src/nhttpd/web/images/live_popup.png and b/src/nhttpd/web/images/live_popup.png differ diff --git a/src/nhttpd/web/images/lock.gif b/src/nhttpd/web/images/lock.gif deleted file mode 100644 index 720e21028..000000000 Binary files a/src/nhttpd/web/images/lock.gif and /dev/null differ diff --git a/src/nhttpd/web/images/lock.png b/src/nhttpd/web/images/lock.png deleted file mode 100644 index ecb50a93f..000000000 Binary files a/src/nhttpd/web/images/lock.png and /dev/null differ diff --git a/src/nhttpd/web/images/modify.png b/src/nhttpd/web/images/modify.png index fb2efb877..b73a4a3ed 100644 Binary files a/src/nhttpd/web/images/modify.png and b/src/nhttpd/web/images/modify.png differ diff --git a/src/nhttpd/web/images/new.gif b/src/nhttpd/web/images/new.gif deleted file mode 100644 index 1d739f13e..000000000 Binary files a/src/nhttpd/web/images/new.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/package.png b/src/nhttpd/web/images/package.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/package.png rename to src/nhttpd/web/images/package.png diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/page_edit.png b/src/nhttpd/web/images/page_edit.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/page_edit.png rename to src/nhttpd/web/images/page_edit.png diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/paste.gif b/src/nhttpd/web/images/paste.gif old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/paste.gif rename to src/nhttpd/web/images/paste.gif diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/picture.png b/src/nhttpd/web/images/picture.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/picture.png rename to src/nhttpd/web/images/picture.png diff --git a/src/nhttpd/web/images/properties.gif b/src/nhttpd/web/images/properties.gif deleted file mode 100755 index 963ead1c9..000000000 Binary files a/src/nhttpd/web/images/properties.gif and /dev/null differ diff --git a/src/nhttpd/web/images/radio.png b/src/nhttpd/web/images/radio.png index fef6e8bad..192e88165 100644 Binary files a/src/nhttpd/web/images/radio.png and b/src/nhttpd/web/images/radio.png differ diff --git a/src/nhttpd/web/images/rc_cst_v2.jpg b/src/nhttpd/web/images/rc_cst_v2.jpg deleted file mode 100644 index 03d0c1c02..000000000 Binary files a/src/nhttpd/web/images/rc_cst_v2.jpg and /dev/null differ diff --git a/src/nhttpd/web/images/rc_cst_v2.png b/src/nhttpd/web/images/rc_cst_v2.png new file mode 100644 index 000000000..999e5e0b1 Binary files /dev/null and b/src/nhttpd/web/images/rc_cst_v2.png differ diff --git a/src/nhttpd/web/images/rc_cst_v3.jpg b/src/nhttpd/web/images/rc_cst_v3.jpg deleted file mode 100644 index 33aba320e..000000000 Binary files a/src/nhttpd/web/images/rc_cst_v3.jpg and /dev/null differ diff --git a/src/nhttpd/web/images/rc_cst_v3.png b/src/nhttpd/web/images/rc_cst_v3.png new file mode 100644 index 000000000..2b1ee9747 Binary files /dev/null and b/src/nhttpd/web/images/rc_cst_v3.png differ diff --git a/src/nhttpd/web/images/rc_cst_v4.jpg b/src/nhttpd/web/images/rc_cst_v4.jpg deleted file mode 100644 index b52e6f1e0..000000000 Binary files a/src/nhttpd/web/images/rc_cst_v4.jpg and /dev/null differ diff --git a/src/nhttpd/web/images/rc_cst_v4.png b/src/nhttpd/web/images/rc_cst_v4.png new file mode 100644 index 000000000..a755ae821 Binary files /dev/null and b/src/nhttpd/web/images/rc_cst_v4.png differ diff --git a/src/nhttpd/web/images/rc_cst_v5.jpg b/src/nhttpd/web/images/rc_cst_v5.jpg deleted file mode 100644 index 5c4997ec1..000000000 Binary files a/src/nhttpd/web/images/rc_cst_v5.jpg and /dev/null differ diff --git a/src/nhttpd/web/images/rc_cst_v5.png b/src/nhttpd/web/images/rc_cst_v5.png new file mode 100644 index 000000000..709d5ebe6 Binary files /dev/null and b/src/nhttpd/web/images/rc_cst_v5.png differ diff --git a/src/nhttpd/web/images/rc_cst_v6.jpg b/src/nhttpd/web/images/rc_cst_v6.jpg deleted file mode 100644 index 5a2b296ec..000000000 Binary files a/src/nhttpd/web/images/rc_cst_v6.jpg and /dev/null differ diff --git a/src/nhttpd/web/images/rc_cst_v6.png b/src/nhttpd/web/images/rc_cst_v6.png new file mode 100644 index 000000000..2a370d0b8 Binary files /dev/null and b/src/nhttpd/web/images/rc_cst_v6.png differ diff --git a/src/nhttpd/web/images/rc_dbox_nokia_old.jpg b/src/nhttpd/web/images/rc_dbox_nokia_old.jpg deleted file mode 100644 index b9138f366..000000000 Binary files a/src/nhttpd/web/images/rc_dbox_nokia_old.jpg and /dev/null differ diff --git a/src/nhttpd/web/images/rc_dbox_nokia_old.png b/src/nhttpd/web/images/rc_dbox_nokia_old.png new file mode 100644 index 000000000..6b400fc8f Binary files /dev/null and b/src/nhttpd/web/images/rc_dbox_nokia_old.png differ diff --git a/src/nhttpd/web/images/rc_dbox_philips.jpg b/src/nhttpd/web/images/rc_dbox_philips.jpg deleted file mode 100644 index 047a24d1f..000000000 Binary files a/src/nhttpd/web/images/rc_dbox_philips.jpg and /dev/null differ diff --git a/src/nhttpd/web/images/rc_dbox_philips.png b/src/nhttpd/web/images/rc_dbox_philips.png new file mode 100644 index 000000000..743004247 Binary files /dev/null and b/src/nhttpd/web/images/rc_dbox_philips.png differ diff --git a/src/nhttpd/web/images/record.png b/src/nhttpd/web/images/record.png index 0cfd58596..570d58fc5 100644 Binary files a/src/nhttpd/web/images/record.png and b/src/nhttpd/web/images/record.png differ diff --git a/src/nhttpd/web/images/reload.gif b/src/nhttpd/web/images/reload.gif deleted file mode 100644 index 8268958a1..000000000 Binary files a/src/nhttpd/web/images/reload.gif and /dev/null differ diff --git a/src/nhttpd/web/images/reload.png b/src/nhttpd/web/images/reload.png new file mode 100644 index 000000000..70dce5192 Binary files /dev/null and b/src/nhttpd/web/images/reload.png differ diff --git a/src/nhttpd/web/images/remotescreen.gif b/src/nhttpd/web/images/remotescreen.gif deleted file mode 100644 index 3bc44a7ac..000000000 Binary files a/src/nhttpd/web/images/remotescreen.gif and /dev/null differ diff --git a/src/nhttpd/web/images/streaminfo.png b/src/nhttpd/web/images/streaminfo.png index 52a47319a..d1b964d26 100644 Binary files a/src/nhttpd/web/images/streaminfo.png and b/src/nhttpd/web/images/streaminfo.png differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/text.png b/src/nhttpd/web/images/text.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/text.png rename to src/nhttpd/web/images/text.png diff --git a/src/nhttpd/web/images/tux-yweb.gif b/src/nhttpd/web/images/tux-yweb.gif deleted file mode 100644 index fa1398fde..000000000 Binary files a/src/nhttpd/web/images/tux-yweb.gif and /dev/null differ diff --git a/src/nhttpd/web/images/tux-yweb.png b/src/nhttpd/web/images/tux-yweb.png new file mode 100644 index 000000000..8ec4ff506 Binary files /dev/null and b/src/nhttpd/web/images/tux-yweb.png differ diff --git a/src/nhttpd/web/images/tux.gif b/src/nhttpd/web/images/tux.gif deleted file mode 100644 index 720c053b7..000000000 Binary files a/src/nhttpd/web/images/tux.gif and /dev/null differ diff --git a/src/nhttpd/web/images/unlock.gif b/src/nhttpd/web/images/unlock.gif deleted file mode 100644 index 10eb77697..000000000 Binary files a/src/nhttpd/web/images/unlock.gif and /dev/null differ diff --git a/src/nhttpd/web/images/unlock.png b/src/nhttpd/web/images/unlock.png deleted file mode 100644 index a7b566b1f..000000000 Binary files a/src/nhttpd/web/images/unlock.png and /dev/null differ diff --git a/src/nhttpd/web/images/upload.gif b/src/nhttpd/web/images/upload.gif deleted file mode 100755 index f76ba7c7a..000000000 Binary files a/src/nhttpd/web/images/upload.gif and /dev/null differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/upload.png b/src/nhttpd/web/images/upload.png old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/upload.png rename to src/nhttpd/web/images/upload.png diff --git a/src/nhttpd/web/images/visible.gif b/src/nhttpd/web/images/visible.gif deleted file mode 100644 index 70c1c4b55..000000000 Binary files a/src/nhttpd/web/images/visible.gif and /dev/null differ diff --git a/src/nhttpd/web/images/visible.png b/src/nhttpd/web/images/visible.png deleted file mode 100644 index c260e1d96..000000000 Binary files a/src/nhttpd/web/images/visible.png and /dev/null differ diff --git a/src/nhttpd/web/images/vlc.gif b/src/nhttpd/web/images/vlc.gif deleted file mode 100755 index 2b18cb0e3..000000000 Binary files a/src/nhttpd/web/images/vlc.gif and /dev/null differ diff --git a/src/nhttpd/web/images/vlc.png b/src/nhttpd/web/images/vlc.png new file mode 100644 index 000000000..51c506a14 Binary files /dev/null and b/src/nhttpd/web/images/vlc.png differ diff --git a/src/nhttpd/web/images/wget.gif b/src/nhttpd/web/images/wget.gif deleted file mode 100644 index f99a5383b..000000000 Binary files a/src/nhttpd/web/images/wget.gif and /dev/null differ diff --git a/src/nhttpd/web/images/wget.png b/src/nhttpd/web/images/wget.png new file mode 100644 index 000000000..d1617425e Binary files /dev/null and b/src/nhttpd/web/images/wget.png differ diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/images/work.gif b/src/nhttpd/web/images/work.gif old mode 100755 new mode 100644 similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/images/work.gif rename to src/nhttpd/web/images/work.gif diff --git a/src/nhttpd/web/images/x_red.gif b/src/nhttpd/web/images/x_red.gif deleted file mode 100644 index e5db0cf6f..000000000 Binary files a/src/nhttpd/web/images/x_red.gif and /dev/null differ diff --git a/src/nhttpd/web/images/x_red.png b/src/nhttpd/web/images/x_red.png new file mode 100644 index 000000000..cf92a2839 Binary files /dev/null and b/src/nhttpd/web/images/x_red.png differ diff --git a/src/nhttpd/web/images/y.png b/src/nhttpd/web/images/y.png deleted file mode 100644 index b1f19f549..000000000 Binary files a/src/nhttpd/web/images/y.png and /dev/null differ diff --git a/src/nhttpd/web/images/yjogol.gif b/src/nhttpd/web/images/yjogol.gif deleted file mode 100644 index ec54c9699..000000000 Binary files a/src/nhttpd/web/images/yjogol.gif and /dev/null differ diff --git a/src/nhttpd/web/images/zap.png b/src/nhttpd/web/images/zap.png index d451ee061..87f15aaf9 100644 Binary files a/src/nhttpd/web/images/zap.png and b/src/nhttpd/web/images/zap.png differ diff --git a/src/nhttpd/web/languages/Deutsch b/src/nhttpd/web/languages/Deutsch index 61d62a87a..2c0cf82f0 100644 --- a/src/nhttpd/web/languages/Deutsch +++ b/src/nhttpd/web/languages/Deutsch @@ -420,6 +420,8 @@ tools.command=Kommando tools.cmd.enter_command=Auszuführendes Kommando eingeben tools.cmd.execute_command=Kommando ausführen tools.boot_logo=Boot Logo +tools.filemgr_desc=Dateien und Verzeichnisse organisieren +tools.filemgr=Dateimanager =========== LIVE Menue live.heading=Live/Timer diff --git a/src/nhttpd/web/languages/English b/src/nhttpd/web/languages/English index 004558a54..6a9dfa177 100644 --- a/src/nhttpd/web/languages/English +++ b/src/nhttpd/web/languages/English @@ -423,6 +423,8 @@ tools.command=Command tools.cmd.enter_command=enter command to execute tools.cmd.execute_command=execute shell command tools.boot_logo=Boot Logo +tools.filemgr_desc=organize files and directorys +tools.filemgr=File manager =========== LIVE Menue live.heading=Live/Timer diff --git a/src/nhttpd/web/scripts/Makefile.am b/src/nhttpd/web/scripts/Makefile.am index 09adfb357..946784cb3 100644 --- a/src/nhttpd/web/scripts/Makefile.am +++ b/src/nhttpd/web/scripts/Makefile.am @@ -2,6 +2,9 @@ installdir = $(DATADIR)/neutrino/httpd/scripts install_DATA= api.sh _Y_Globals.sh _Y_Library.sh Y_Live.sh Y_Tools.sh +# file manager +install_DATA += Y_NAS.sh + install-data-hook: chmod 0755 $(DESTDIR)$(DATADIR)/neutrino/httpd/scripts/api.sh chmod 0755 $(DESTDIR)$(DATADIR)/neutrino/httpd/scripts/Y_*.sh diff --git a/src/nhttpd/web/extentions/filemgr/files/httpd/scripts/Y_NAS.sh b/src/nhttpd/web/scripts/Y_NAS.sh similarity index 100% rename from src/nhttpd/web/extentions/filemgr/files/httpd/scripts/Y_NAS.sh rename to src/nhttpd/web/scripts/Y_NAS.sh diff --git a/src/nhttpd/web/scripts/Y_Tools.sh b/src/nhttpd/web/scripts/Y_Tools.sh index 8f13589c2..b565a28ad 100755 --- a/src/nhttpd/web/scripts/Y_Tools.sh +++ b/src/nhttpd/web/scripts/Y_Tools.sh @@ -7,48 +7,60 @@ . ./_Y_Globals.sh . ./_Y_Library.sh # =========================================================== -# Settings : Skins +# Settings : Styles # =========================================================== # ----------------------------------------------------------- -# Skin List [Function inactive] +# Style List # ----------------------------------------------------------- -skin_get() +style_get() { check_Y_Web_conf - active_skin=`config_get_value_direct $y_config_Y_Web 'skin'` + active_style=$(config_get_value_direct $y_config_Y_Web 'style') + + y_path_directory=$(config_get_value_direct $y_config_nhttpd 'WebsiteMain.directory') + y_path_override_directory=$(config_get_value_direct $y_config_nhttpd 'WebsiteMain.override_directory') + + style_list="" + style_list="$style_list $(find $y_path_override_directory/styles -name 'Y_Dist-*')" + style_list="$style_list $(find $y_path_directory/styles -name 'Y_Dist-*')" + + f_list="" html_option_list="" - skin_list=`find $y_path_httpd -name 'Y_Main-*'` - for f in $skin_list + for f in $style_list do - skin=`echo "$f"|sed -e s/^.*Y_Main-//g|sed -e s/.css//g` - if [ "$skin" = "$active_skin" ] - then - selec="selected" - else - selec="" + echo $f_list | grep ${f##*/} + if [ $? == 0 ]; then + continue fi - opt="" + f_list="$f_list ${f##*/}" + + style=$(echo "$f" | sed -e s/^.*Y_Dist-//g | sed -e s/.css//g) + if [ "$style" = "$active_style" ] + then + sel="selected='selected'" + else + sel="" + fi + opt="" html_option_list="$html_option_list $opt" done echo "$html_option_list" } # ----------------------------------------------------------- -# Set Skin: override css $1=Skin-Name [Function inactive] +# Set Style: override Y_Main.css $1=Style-Name # ----------------------------------------------------------- -skin_set() +style_set() { - cd $y_path_httpd - cp Y_Main-$1.css Y_Main.css - if [ -e global-$1.css ] - then - cp global-$1.css global.css - else - cp global-Standard.css global.css - fi - config_set_value_direct $y_config_Y_Web 'skin' $1 + y_path_directory=$(config_get_value_direct $y_config_nhttpd 'WebsiteMain.directory') + y_path_override_directory=$(config_get_value_direct $y_config_nhttpd 'WebsiteMain.override_directory') - msg="Skin changed - Now browsers Refresh/actualization explain" - y_format_message_html + cd $y_path_directory + if [ -e $y_path_override_directory/styles/Y_Dist-$1.css ]; then + cp $y_path_override_directory/styles/Y_Dist-$1.css Y_Dist.css + else + cp $y_path_directory/styles/Y_Dist-$1.css Y_Dist.css + fi + #config_set_value_direct $y_config_Y_Web 'style' $1 } # ----------------------------------------------------------- # Image Backup - build form @@ -364,13 +376,21 @@ do_installer() rm -f $y_install # clean up if [ -s "$y_out_html" ] #html - output? then - echo '' - echo "" + echo '' + echo '' + echo '' + echo '' + echo "" + echo '' echo "If automatic forwarding does not go." echo '' # cat $y_out_html else - echo '' + echo '' + echo '' + echo '' + echo '' + echo '' echo '' echo "$o" echo '' @@ -525,8 +545,8 @@ restart_neutrino() #debug # echo "call:$*" >> "/tmp/debug.txt" case "$1" in - skin_set) skin_set $2 ;; - skin_get) skin_get ;; + style_set) style_set $2 ;; + style_get) style_get ;; image_upload) image_upload ;; image_backup) image_backup_mtd $2; echo "/tmp/flash_mtd$2.img" ;; image_flash) shift 1; flash_mtd $* ;; diff --git a/src/nhttpd/web/scripts/_Y_Library.sh b/src/nhttpd/web/scripts/_Y_Library.sh index 37d8402d0..7df5c5c12 100755 --- a/src/nhttpd/web/scripts/_Y_Library.sh +++ b/src/nhttpd/web/scripts/_Y_Library.sh @@ -73,7 +73,9 @@ buildStreamingAudioRawURL() y_format_message_html() { tmp="" - tmp="$tmp " + tmp="$tmp " + tmp="$tmp " + tmp="$tmp " tmp="$tmp
    Results
    " tmp="$tmp
    \n$msg\n
    " @@ -83,7 +85,9 @@ y_format_message_html() y_format_message_html2() { tmp="" - tmp="$tmp " + tmp="$tmp " + tmp="$tmp " + tmp="$tmp " tmp="$tmp
    Results
    " tmp="$tmp $msg
    " echo "$tmp" @@ -91,7 +95,9 @@ y_format_message_html2() y_format_message_html_plain() { tmp="" - tmp="$tmp " + tmp="$tmp " + tmp="$tmp " + tmp="$tmp " tmp="$tmp $msg" echo "$tmp" } diff --git a/src/nhttpd/web/styles/Makefile.am b/src/nhttpd/web/styles/Makefile.am new file mode 100644 index 000000000..e3f6d2acf --- /dev/null +++ b/src/nhttpd/web/styles/Makefile.am @@ -0,0 +1,3 @@ +installdir = $(DATADIR)/neutrino/httpd/styles + +install_DATA = Y_Dist-Tuxbox.css diff --git a/src/nhttpd/web/styles/Y_Dist-Tuxbox.css b/src/nhttpd/web/styles/Y_Dist-Tuxbox.css new file mode 100644 index 000000000..35f1301dc --- /dev/null +++ b/src/nhttpd/web/styles/Y_Dist-Tuxbox.css @@ -0,0 +1,6 @@ +/* + Tuxbox yWeb Style - Do not modify. + + When you're a distributor, use your own styles/Y_Dist-.css file. + When you're a user, use Y_User.css. +*/ diff --git a/src/system/Makefile.am b/src/system/Makefile.am index 0f1d64dc1..e171c0fef 100644 --- a/src/system/Makefile.am +++ b/src/system/Makefile.am @@ -35,6 +35,7 @@ libneutrino_system_a_SOURCES = \ helpers.cpp \ ping.cpp \ settings.cpp \ + stacktrace.cpp \ sysload.cpp \ ytcache.cpp \ ytparser.cpp \ diff --git a/src/system/stacktrace.cpp b/src/system/stacktrace.cpp new file mode 100644 index 000000000..d692287f1 --- /dev/null +++ b/src/system/stacktrace.cpp @@ -0,0 +1,180 @@ +/* + Neutrino-GUI - DBoxII-Project + + Copyright (C) 2015 CoolStream International Ltd + + print_stacktrace function taken from: + stacktrace.h (c) 2008, Timo Bingmann from http://idlebox.net/ + published under the WTFPL v2.0 + + License: GPLv2 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#define __USE_GNU +#include +#include +#include +#include +#include + +#ifdef HAVE_BACKTRACE +#include + +/** Print a demangled stack backtrace of the caller function to FILE* out. */ +void print_stacktrace(FILE *out = stderr, unsigned int max_frames = 63) +{ + fprintf(out, "stack trace:\n"); + + // storage array for stack trace address data + void* addrlist[max_frames+1]; + + // retrieve current stack addresses + int addrlen = backtrace(addrlist, sizeof(addrlist) / sizeof(void*)); + + if (addrlen == 0) { + fprintf(out, " \n"); + return; + } + + // resolve addresses into strings containing "filename(function+address)", + // this array must be free()-ed + char** symbollist = backtrace_symbols(addrlist, addrlen); + + // allocate string which will be filled with the demangled function name + size_t funcnamesize = 256; + char* funcname = (char*)malloc(funcnamesize); + + // iterate over the returned symbol lines. skip the first, it is the + // address of this function. + for (int i = 1; i < addrlen; i++) + { + char *begin_name = 0, *begin_offset = 0, *end_offset = 0; + + // find parentheses and +address offset surrounding the mangled name: + // ./module(function+0x15c) [0x8048a6d] + for (char *p = symbollist[i]; *p; ++p) + { + if (*p == '(') + begin_name = p; + else if (*p == '+') + begin_offset = p; + else if (*p == ')' && begin_offset) { + end_offset = p; + break; + } + } + + if (begin_name && begin_offset && end_offset + && begin_name < begin_offset) + { + *begin_name++ = '\0'; + *begin_offset++ = '\0'; + *end_offset = '\0'; + + // mangled name is now in [begin_name, begin_offset) and caller + // offset in [begin_offset, end_offset). now apply + // __cxa_demangle(): + + int status; + char* ret = abi::__cxa_demangle(begin_name, + funcname, &funcnamesize, &status); + if (status == 0) { + funcname = ret; // use possibly realloc()-ed string + fprintf(out, " %s : %s+%s [%p]\n", + symbollist[i], funcname, begin_offset, addrlist[i]); + } + else { + // demangling failed. Output function name as a C function with + // no arguments. + fprintf(out, " %s : %s()+%s [%p]\n", + symbollist[i], begin_name, begin_offset, addrlist[i]); + } + } + else + { + // couldn't parse the line? print the whole line. + fprintf(out, " %s\n", symbollist[i]); + } + } + + free(funcname); + free(symbollist); +} + +static void crash_handler(int signum, siginfo_t * si, void *ctx) +{ + void *trace[16]; + int trace_size = 0; + ucontext_t *ct = (ucontext_t *) ctx; + if (si) {} +#if 0 + printf("signal %d, siginfo->si_addr is %p\n", signum, si->si_addr); + printf("reg[%02d] = 0x%lx\n",0 , ct->uc_mcontext.arm_r0); + printf("reg[%02d] = 0x%lx\n",1 , ct->uc_mcontext.arm_r1); + printf("reg[%02d] = 0x%lx\n",2 , ct->uc_mcontext.arm_r2); + printf("reg[%02d] = 0x%lx\n",3 , ct->uc_mcontext.arm_r3); + printf("reg[%02d] = 0x%lx\n",4 , ct->uc_mcontext.arm_r4); + printf("reg[%02d] = 0x%lx\n",5 , ct->uc_mcontext.arm_r5); + printf("reg[%02d] = 0x%lx\n",6 , ct->uc_mcontext.arm_r6); + printf("reg[%02d] = 0x%lx\n",7 , ct->uc_mcontext.arm_r7); + printf("reg[%02d] = 0x%lx\n",8 , ct->uc_mcontext.arm_r8); + printf("reg[%02d] = 0x%lx\n",9 , ct->uc_mcontext.arm_r9); + printf("reg[%02d] = 0x%lx\n",10 , ct->uc_mcontext.arm_r10); + printf("FP = 0x%lx\n", ct->uc_mcontext.arm_fp); + printf("IP = 0x%lx\n", ct->uc_mcontext.arm_ip); + printf("SP = 0x%lx\n", ct->uc_mcontext.arm_sp); + printf("LR = 0x%lx\n", ct->uc_mcontext.arm_lr); + printf("PC = 0x%lx\n", ct->uc_mcontext.arm_pc); + printf("CPSR = 0x%lx\n", ct->uc_mcontext.arm_cpsr); + printf("Fault Address = 0x%lx\n", ct->uc_mcontext.fault_address); + printf("Trap no = 0x%lx\n", ct->uc_mcontext.trap_no); + printf("Err Code = 0x%lx\n", ct->uc_mcontext.error_code); + printf("Old Mask = 0x%lx\n", ct->uc_mcontext.oldmask); +#endif + + trace_size = backtrace(trace, 16); + trace[1] = (void *) ct->uc_mcontext.arm_pc; +#if 0 + char **messages = backtrace_symbols(trace, trace_size); + /* skip first stack frame (points here) */ + printf("Execution path: (%d)\n", trace_size); + for (int i = 0; i < trace_size; ++i) + printf("[#%d] %s\n", i, messages[i]); +#endif + backtrace_symbols_fd(trace, trace_size, fileno(stdout)); + if (signum != SIGUSR1) + abort(); +} + +void install_crash_handler() +{ + struct sigaction sa; + + sa.sa_sigaction = crash_handler; + sigemptyset(&sa.sa_mask); + sa.sa_flags = SA_SIGINFO; + + sigaction(SIGSEGV, &sa, NULL); + sigaction(SIGFPE, &sa, NULL); + sigaction(SIGBUS, &sa, NULL); + /* for testing */ + sigaction(SIGUSR1, &sa, NULL); + + void *trace[16]; + backtrace(trace, 16); +} + +#endif diff --git a/src/system/stacktrace.h b/src/system/stacktrace.h new file mode 100644 index 000000000..e9b3bafee --- /dev/null +++ b/src/system/stacktrace.h @@ -0,0 +1,7 @@ +#ifndef _STACKTRACE_H_ +#define _STACKTRACE_H_ + +void print_stacktrace(FILE *out = stderr, unsigned int max_frames = 63); +void install_crash_handler(); + +#endif