Exemplo n.º 1
0
void playlist_act(u32 act_type)
{
	u32 idx, count;
	char entry[MAX_PATH];
	const char *url;

	/*reset all*/
	if (act_type == 3) {
		count = gf_cfg_get_key_count(cfg, "Playlist");
		while (count) {
			url = gf_cfg_get_key_name(cfg, "Playlist", 0);
			gf_cfg_set_key(cfg, "Playlist", url, NULL);
			count--;
		}
		refresh_playlist();
		return;
	}
    count = SendMessage(hList, LB_GETSELCOUNT, 0, 0);
	if (!count) return;
    idx = SendMessage(hList, LB_GETCURSEL, 0, 0);

	if ((act_type==1) && !idx) return;
	else if ((act_type==2) && (idx+1==count)) return;

	url = gf_cfg_get_key_name(cfg, "Playlist", idx);
	if (!url) return;
	strcpy(entry, url);
	/*remove from playlist*/
	gf_cfg_set_key(cfg, "Playlist", url, NULL);
	switch (act_type) {
	/*remove*/
	case 0:
		if (idx+1==count) idx--;
		break;
	/*up*/
	case 1: 
		gf_cfg_insert_key(cfg, "Playlist", entry, "", idx-1);
		idx--;
		break;
	/*down*/
	case 2: 
		gf_cfg_insert_key(cfg, "Playlist", entry, "", idx+1);
		idx++;
		break;
	}
	refresh_playlist();
    SendMessage(hList, LB_SETCURSEL, idx, 0);
	SetFocus(hList);
}
Exemplo n.º 2
0
void OpenDlg::OnOK()
{
	CString URL;
	char szUrl[5000];

	int sel = m_URLs.GetCurSel();
	if (sel == CB_ERR) {
		m_URLs.GetWindowText(URL);
	} else {
		m_URLs.GetLBText(sel, URL);
	}
	if (!URL.GetLength()) {
		EndDialog(IDCANCEL);
		return;
	}
	COsmo4 *app = GetApp();
	u32 nb_entries;

	app->m_filename = URL;

	CE_WideToChar((unsigned short *) (LPCTSTR) URL, szUrl);

	gf_cfg_set_key(app->m_user.config, "RecentFiles", szUrl, NULL);
	gf_cfg_insert_key(app->m_user.config, "RecentFiles", szUrl, "", 0);
	/*remove last entry if needed*/
	nb_entries = gf_cfg_get_key_count(app->m_user.config, "RecentFiles");
	if (nb_entries>20) {
		gf_cfg_set_key(app->m_user.config, "RecentFiles", gf_cfg_get_key_name(app->m_user.config, "RecentFiles", nb_entries-1), NULL);
	}
	EndDialog(IDOK);
}
Exemplo n.º 3
0
void do_open_file()
{
	gf_cfg_set_key(user.config, "RecentFiles", the_url, NULL);
	gf_cfg_insert_key(user.config, "RecentFiles", the_url, "", 0);
	u32 count = gf_cfg_get_key_count(user.config, "RecentFiles");
	if (count > 10) gf_cfg_set_key(user.config, "RecentFiles", gf_cfg_get_key_name(user.config, "RecentFiles", count-1), NULL);

	setup_logs();

	gf_term_connect(term, the_url);
}
Exemplo n.º 4
0
void UpdateLastFiles(GF_Config *cfg, const char *URL)
{
	u32 nb_entries;
	gf_cfg_set_key(cfg, "RecentFiles", URL, NULL);
	gf_cfg_insert_key(cfg, "RecentFiles", URL, "", 0);
	/*remove last entry if needed*/
	nb_entries = gf_cfg_get_key_count(cfg, "RecentFiles");
	if (nb_entries>MAX_LAST_FILES) {
		gf_cfg_set_key(cfg, "RecentFiles", gf_cfg_get_key_name(cfg, "RecentFiles", nb_entries-1), NULL);
	}
}
Exemplo n.º 5
0
void COsmo4AppView::Connect(const char *url)
{
#ifndef GPAC_GUI_ONLY
	char the_url[1024];
	/*copy before removing from recent files*/
	strcpy(the_url, url);
	gf_cfg_set_key(m_user.config, "RecentFiles", the_url, NULL);
	gf_cfg_insert_key(m_user.config, "RecentFiles", the_url, "", 0);
	u32 count = gf_cfg_get_key_count(m_user.config, "RecentFiles");
	if (count > 10) gf_cfg_set_key(m_user.config, "RecentFiles", gf_cfg_get_key_name(m_user.config, "RecentFiles", count-1), NULL);

	if (m_term) gf_term_connect(m_term, the_url);
#endif
}
Exemplo n.º 6
0
void CPlaylist::PlaylistAct(Osmo4_PLActions act)
{
	char szURL[1024];
	char szName[100];
	CDesCArray*array;
	TInt idx;
	TInt count;

	if (act==Osmo4PLClear) {
		while (1) {
#ifndef GPAC_GUI_ONLY
			const char *opt = gf_cfg_get_key_name(m_user->config, "Playlist", 0);
			if (!opt) break;
			gf_cfg_set_key(m_user->config, "Playlist", opt, NULL);
#endif
		}
		RefreshPlaylist();
		return;
	} else if (act == Osmo4PLToggleMode) {
		playlist_mode = !playlist_mode;
		RefreshPlaylist();
		return;
	} else if (act == Osmo4PLToggleAllFiles) {
		view_all_files = !view_all_files;
		RefreshPlaylist();
		return;
	} else if (act == Osmo4PLAdd) {
#ifndef GPAC_GUI_ONLY
		GetSelectionName(szName);
		if ((szName[0] == '+') && (szName[1] == ' ')) {
			if ((szName[2] != '.') && (szName[3] != '.')) {
				sprintf(szURL, "%s\\%s", szCurrentDir, szName+2);
				gf_enum_directory(szURL, 0, dir_add_files, this, view_all_files ? NULL : ext_list);
			}
		} else if (szName[1] == ':') {
			gf_enum_directory(szName, 0, dir_add_files, this, view_all_files ? NULL : ext_list);
		} else {
			sprintf(szURL, "%s\\%s", szCurrentDir, szName);
			gf_cfg_set_key(m_user->config, "Playlist", szURL, "");
		}
#endif
		return;
	}

	GetSelectionName(szName);
	if ((szName[0] == '+') && (szName[1] == ' ')) return;
	else if (szName[1] == ':') return;

	switch (act) {
	/*remove from playlist*/
	case Osmo4PLRem:
#ifndef GPAC_GUI_ONLY
		sprintf(szURL, "%s\\%s", szCurrentDir, szName);
		gf_cfg_set_key(m_user->config, "Playlist", szURL, NULL);
#endif
		RefreshPlaylist();
		break;
	/*move up*/
	case Osmo4PLMoveUp:
		array = static_cast<CDesCArray*>(iListBox->Model()->ItemTextArray());
		count = array->Count();
		idx = iListBox->CurrentItemIndex();
		sprintf(szURL, "%s\\%s", szCurrentDir, szName);
#ifndef GPAC_GUI_ONLY
		gf_cfg_set_key(m_user->config, "Playlist", szURL, NULL);
		gf_cfg_insert_key(m_user->config, "Playlist", szURL, "", idx-1);
#endif
		RefreshPlaylist();
		if (idx>1) iListBox->SetCurrentItemIndexAndDraw(idx-1);
		break;
	/*move down*/
	case Osmo4PLMoveDown:
		array = static_cast<CDesCArray*>(iListBox->Model()->ItemTextArray());
		count = array->Count();
		idx = iListBox->CurrentItemIndex();
		sprintf(szURL, "%s\\%s", szCurrentDir, szName);
#ifndef GPAC_GUI_ONLY
		gf_cfg_set_key(m_user->config, "Playlist", szURL, NULL);
		gf_cfg_insert_key(m_user->config, "Playlist", szURL, "", idx+1);
#endif
		RefreshPlaylist();
		if (idx<count-1) iListBox->SetCurrentItemIndexAndDraw(idx+1);
		break;
	default:
		break;
	}
}