Commit 77d456b0 authored by Geoffrey Métais's avatar Geoffrey Métais
Browse files

move openMRL and preferences buttons to sidebar

parent fad4feb4
......@@ -8,12 +8,6 @@
android:title="@string/searchable_hint"
android:nextFocusDown="@id/ml_menu_search"
vlc:showAsAction="ifRoom" />
<item
android:id="@+id/ml_menu_open_mrl"
android:icon="@drawable/ic_menu_goto_wb"
android:title="@string/open_mrl"
android:nextFocusDown="@id/ml_menu_open_mrl"
vlc:showAsAction="ifRoom" />
<item
android:title="@string/sortby"
android:icon="@drawable/ic_menu_sortby_wb"
......@@ -43,10 +37,6 @@
android:id="@+id/ml_menu_equalizer"
android:icon="@drawable/ic_menu_equalizer_wb"
android:title="@string/equalizer" />
<item
android:id="@+id/ml_menu_preferences"
android:icon="@drawable/ic_menu_preferences_wb"
android:title="@string/preferences" />
<item
android:id="@+id/ml_menu_about"
android:icon="@drawable/ic_menu_info_wb"
......
......@@ -8,12 +8,6 @@
android:title="@string/searchable_hint"
android:nextFocusDown="@id/ml_menu_search"
vlc:showAsAction="ifRoom" />
<item
android:id="@+id/ml_menu_open_mrl"
android:icon="@drawable/ic_menu_goto"
android:title="@string/open_mrl"
android:nextFocusDown="@id/ml_menu_open_mrl"
vlc:showAsAction="ifRoom" />
<item
android:title="@string/sortby"
android:icon="@drawable/ic_menu_sortby"
......@@ -43,10 +37,6 @@
android:id="@+id/ml_menu_equalizer"
android:icon="@drawable/ic_menu_equalizer"
android:title="@string/equalizer" />
<item
android:id="@+id/ml_menu_preferences"
android:icon="@drawable/ic_menu_preferences"
android:title="@string/preferences" />
<item
android:id="@+id/ml_menu_about"
android:icon="@drawable/ic_menu_info"
......
......@@ -8,12 +8,6 @@
android:title="@string/searchable_hint"
android:nextFocusDown="@id/ml_menu_search"
vlc:showAsAction="ifRoom" />
<item
android:id="@+id/ml_menu_open_mrl"
android:icon="@drawable/ic_menu_goto_wb"
android:title="@string/open_mrl"
android:nextFocusDown="@id/ml_menu_open_mrl"
vlc:showAsAction="ifRoom" />
<item
android:title="@string/sortby"
android:icon="@drawable/ic_menu_sortby_wb"
......@@ -43,10 +37,6 @@
android:id="@+id/ml_menu_equalizer"
android:icon="@drawable/ic_menu_equalizer_wb"
android:title="@string/equalizer" />
<item
android:id="@+id/ml_menu_preferences"
android:icon="@drawable/ic_menu_preferences_wb"
android:title="@string/preferences" />
<item
android:id="@+id/ml_menu_about"
android:icon="@drawable/ic_menu_info_wb"
......
......@@ -48,6 +48,8 @@
<attr name="ic_menu_audio" format="reference" />
<attr name="ic_menu_folder" format="reference" />
<attr name="ic_menu_history" format="reference" />
<attr name="ic_menu_openmrl" format="reference" />
<attr name="ic_menu_preferences" format="reference" />
<attr name="ic_move_media" format="reference" />
<attr name="mini_player_top_shadow" format="reference" />
......
......@@ -67,6 +67,8 @@
<item name="ic_menu_audio">@drawable/ic_menu_audio</item>
<item name="ic_menu_folder">@drawable/ic_menu_folder</item>
<item name="ic_menu_history">@drawable/ic_menu_history</item>
<item name="ic_menu_openmrl">@drawable/ic_menu_goto_wb</item>
<item name="ic_menu_preferences">@drawable/ic_menu_preferences_wb</item>
<item name="ic_move_media">@drawable/ic_move_media</item>
<item name="advanced_options_style">@style/Theme.VLC.AdvancedOptionsLight</item>
......@@ -132,6 +134,8 @@
<item name="ic_menu_audio">@drawable/ic_menu_audio_w</item>
<item name="ic_menu_folder">@drawable/ic_menu_folder_w</item>
<item name="ic_menu_history">@drawable/ic_menu_history_w</item>
<item name="ic_menu_openmrl">@drawable/ic_menu_goto_wb</item>
<item name="ic_menu_preferences">@drawable/ic_menu_preferences_wb</item>
<item name="ic_move_media">@drawable/ic_move_media_w</item>
<item name="advanced_options_style">@style/Theme.VLC.AdvancedOptionsBlack</item>
</style>
......
......@@ -106,6 +106,7 @@ public class MainActivity extends ActionBarActivity {
private static final int ACTIVITY_RESULT_PREFERENCES = 1;
private static final int ACTIVITY_SHOW_INFOLAYOUT = 2;
private Context mContext;
private ActionBar mActionBar;
private SidebarAdapter mSidebarAdapter;
private AudioPlayer mAudioPlayer;
......@@ -150,6 +151,7 @@ public class MainActivity extends ActionBarActivity {
return;
}
mContext = this;
/* Get the current version from package */
PackageInfo pinfo = null;
try {
......@@ -254,34 +256,42 @@ public class MainActivity extends ActionBarActivity {
if(entry == null || entry.id == null)
return;
if (entry.type == SidebarEntry.TYPE_FRAGMENT) {
/*
* Clear any backstack before switching tabs. This avoids
* activating an old backstack, when a user hits the back button
* to quit
*/
getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
/* Slide down the audio player */
slideDownAudioPlayer();
slideDownAudioPlayer();
/* Switch the fragment */
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment_placeholder, getFragment(entry.id), entry.id);
ft.commit();
mCurrentFragment = entry.id;
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment_placeholder, getFragment(entry.id), entry.id);
ft.commit();
supportInvalidateOptionsMenu();
mCurrentFragment = entry.id;
/*
* Set user visibility hints to work around weird Android
* behaviour of duplicate context menu events.
*/
current.setUserVisibleHint(false);
getFragment(mCurrentFragment).setUserVisibleHint(true);
// HACK ALERT: Set underlying audio browser to be invisible too.
if(current.getTag().equals("tracks"))
getFragment("audio").setUserVisibleHint(false);
if (mFocusedPrior != 0)
findViewById(R.id.ml_menu_search).requestFocus();
current.setUserVisibleHint(false);
getFragment(mCurrentFragment).setUserVisibleHint(true);
// HACK ALERT: Set underlying audio browser to be invisible too.
if(current.getTag().equals("tracks"))
getFragment("audio").setUserVisibleHint(false);
if (mFocusedPrior != 0)
findViewById(R.id.ml_menu_search).requestFocus();
mRootContainer.closeDrawer(mListView);
} else if (entry.attributeID == R.attr.ic_menu_openmrl){
onOpenMRL();
}else if (entry.attributeID == R.attr.ic_menu_preferences){
startActivityForResult(new Intent(mContext, PreferencesActivity.class), ACTIVITY_RESULT_PREFERENCES);
}
mRootContainer.closeDrawer(mListView);
}
});
......@@ -594,7 +604,10 @@ public class MainActivity extends ActionBarActivity {
// Enable the clear search history function for the search fragment.
if (mCurrentFragment != null && mCurrentFragment.equals("search"))
menu.findItem(R.id.search_clear_history).setVisible(true);
return true;
menu.findItem(R.id.ml_menu_last_playlist).setVisible(SidebarEntry.ID_AUDIO.equals(mCurrentFragment));
return super.onPrepareOptionsMenu(menu);
}
@Override
......@@ -637,11 +650,6 @@ public class MainActivity extends ActionBarActivity {
case R.id.ml_menu_about:
showSecondaryFragment("about");
break;
// Preferences
case R.id.ml_menu_preferences:
intent = new Intent(this, PreferencesActivity.class);
startActivityForResult(intent, ACTIVITY_RESULT_PREFERENCES);
break;
case R.id.ml_menu_equalizer:
showSecondaryFragment("equalizer");
break;
......@@ -657,10 +665,6 @@ public class MainActivity extends ActionBarActivity {
Intent i = new Intent(AudioService.ACTION_REMOTE_LAST_PLAYLIST);
sendBroadcast(i);
break;
// Open MRL
case R.id.ml_menu_open_mrl:
onOpenMRL();
break;
case R.id.ml_menu_search:
onSearchRequested();
break;
......
......@@ -46,14 +46,26 @@ public class SidebarAdapter extends BaseAdapter {
public final static String TAG = "VLC/SidebarAdapter";
static class SidebarEntry {
public static final int TYPE_FRAGMENT = 0;
public static final int TYPE_ACTION = 1;
public static final String ID_VIDEO = "video";
public static final String ID_AUDIO = "audio";
public static final String ID_DIRECTORIES = "directories";
public static final String ID_HISTORY = "history";
public static final String ID_MRL = "mrl";
public static final String ID_PREFERENCES = "preferences";
String id;
String name;
int attributeID;
int type;
public SidebarEntry(String _id, int _name, int _attributeID) {
this.id = _id;
this.name = VLCApplication.getAppContext().getString(_name);
this.attributeID = _attributeID;
public SidebarEntry(String id, int name, int attributeID, int type) {
this.id = id;
this.name = VLCApplication.getAppContext().getString(name);
this.attributeID = attributeID;
this.type = type;
}
}
......@@ -65,20 +77,17 @@ public class SidebarAdapter extends BaseAdapter {
private String mCurrentFragmentId;
static {
SidebarEntry entries2[] = {
new SidebarEntry( "video", R.string.video, R.attr.ic_menu_video ),
new SidebarEntry( "audio", R.string.audio, R.attr.ic_menu_audio ),
new SidebarEntry( "directories", R.string.directories, R.attr.ic_menu_folder ),
new SidebarEntry( "history", R.string.history, R.attr.ic_menu_history ),
//new SidebarEntry( "bookmarks", R.string.bookmarks, R.drawable.ic_bookmarks ),
//new SidebarEntry( "playlists", R.string.playlists, R.drawable.icon ),
};
entries = Arrays.asList(entries2);
entries = new ArrayList<SidebarEntry>();
entries.add(new SidebarEntry(SidebarEntry.ID_VIDEO, R.string.video, R.attr.ic_menu_video, SidebarEntry.TYPE_FRAGMENT));
entries.add(new SidebarEntry(SidebarEntry.ID_AUDIO, R.string.audio, R.attr.ic_menu_audio, SidebarEntry.TYPE_FRAGMENT));
entries.add(new SidebarEntry(SidebarEntry.ID_DIRECTORIES, R.string.directories, R.attr.ic_menu_folder, SidebarEntry.TYPE_FRAGMENT));
entries.add(new SidebarEntry(SidebarEntry.ID_HISTORY, R.string.history, R.attr.ic_menu_history, SidebarEntry.TYPE_FRAGMENT));
sidebarFragments = new ArrayList<String>();
for(SidebarEntry e : entries2) {
for(SidebarEntry e : entries) {
sidebarFragments.add(e.id);
}
entries.add(new SidebarEntry(SidebarEntry.ID_MRL, R.string.open_mrl, R.attr.ic_menu_openmrl, SidebarEntry.TYPE_ACTION));
entries.add(new SidebarEntry(SidebarEntry.ID_PREFERENCES, R.string.preferences, R.attr.ic_menu_preferences, SidebarEntry.TYPE_ACTION));
}
public SidebarAdapter(Context context) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment